Management and presentation of notification content

ABSTRACT

An example method includes, responsive to receiving an indication of an incoming communication, identifying, by a computing device, first and second portions of an image that are associated with respective first and second portions of a face of a human user, wherein the human user has been determined to be an originator of the incoming communication. The example method further includes outputting, by the computing device and for display, the first and second portions of the image that are associated with the respective first and second portions of the face of the human user, and outputting, by the computing device and for display, message content associated with the incoming communication, such that the message content as displayed at least partially overlays the second portion of the image.

This application is a Continuation of application Ser. No. 14/337,789,filed on Jul. 22, 2014 (now U.S. Pat. No. 8,954,521, issued on Feb. 10,2015), the entire contents of which are hereby incorporated by referencein their entirety.

BACKGROUND

A computing device may process notifications that are generated by oneor more applications executed by the computing device or by otherexternal computing devices. As the quantity of applications increases,the quantity of notifications processed by the computing device may alsoincrease, which can complicate the management and presentation ofnotification content associated with these notifications. For example,the amount of notification content displayed to a user at one time maybe limited by a size of a screen used to display the content. Limitingthe amount of notification content displayed at a given time may requirethe computing device to replace or overwrite certain content with othercontent. For example, the computing device may potentially replacecontent that includes more important information with content thatincludes less important information. Furthermore, as the displayedamount of notification content increases, it may become more difficultfor a user to identify particular content or the sources of suchcontent.

SUMMARY

In one example, a method includes, responsive to receiving an indicationof an incoming communication, identifying, by a computing device, firstand second portions of an image that are associated with respectivefirst and second portions of a face of a human user, wherein the humanuser has been determined to be an originator of the incomingcommunication. The method further includes outputting, by the computingdevice and for display, the first and second portions of the image thatare associated with the respective first and second portions of the faceof the human user, and outputting, by the computing device and fordisplay, message content associated with the incoming communication,such that the message content as displayed at least partially overlaysthe second portion of the image.

In another example, a method includes, responsive to receiving anotification, identifying, by a computing device, first and secondportions of a graphical element, wherein the graphical elementrepresents an application that has been determined to be an originatorof the notification. The method further includes outputting, by thecomputing device and for display, the first and second portions of thegraphical element, and outputting, by the computing device and fordisplay, content associated with the notification, such that the contentas displayed at least partially overlays the second portion of thegraphical element.

In another example, a computer-readable storage medium is encoded withinstructions that, when executed, cause at least one processor toperform operations comprising, responsive to receiving an indication ofan incoming communication, identifying first and second portions of animage that are associated with respective first and second portions of aface of a human user, wherein the human user has been determined to bean originator of the incoming communication. The operations furthercomprise outputting, for display, the first and second portions of theimage that are associated with the respective first and second portionsof the face of the human user, and outputting, for display, messagecontent associated with the incoming communication, such that themessage content as displayed at least partially overlays the secondportion of the image.

In another example, a computing device comprises at least one processor.The at least one processor is configured to, responsive to receiving anindication of an incoming communication, identify first and secondportions of an image that are associated with respective first andsecond portions of a face of a human user, wherein the human user hasbeen determined to be an originator of the incoming communication. Theat least one processor is further configured to output, for display, thefirst and second portions of the image that are associated with therespective first and second portions of the face of the human user, andoutput, for display, message content associated with the incomingcommunication, such that the message content as displayed at leastpartially overlays the second portion of the image.

The details of one or more examples are set forth in the accompanyingdrawings and the description below. Other features, objects, andadvantages of the disclosure will be apparent from the description anddrawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1A is a conceptual diagram illustrating an example computing devicethat is configured to output notification content, in accordance withone or more aspects of the present disclosure.

FIG. 1B is a conceptual diagram illustrating another example of acomputing device that communicates with an external computing device, inaccordance with one or more aspects of the present disclosure.

FIG. 2 is a block diagram illustrating an example computing device, inaccordance with one or more aspects of the present disclosure.

FIG. 3 is a block diagram illustrating an example computing device thatoutputs graphical content for display at a remote device, in accordancewith one or more techniques of the present disclosure.

FIG. 4 is a conceptual diagram illustrating different regions of animage that correspond to different facial features of a human user, inaccordance with one or more aspects of the present disclosure.

FIG. 5 is a conceptual diagram illustrating a first exampleidentification of first and second portions of an image, in accordancewith one or more aspects of the present disclosure.

FIG. 6 is a conceptual diagram illustrating a second exampleidentification of first and second portions of an image, in accordancewith one or more aspects of the present disclosure.

FIGS. 7A-7C are conceptual diagrams that illustrate examples ofoverlaying message content over at least a portion of an image, inaccordance with one or more aspects of the present disclosure.

FIG. 8 is a conceptual diagram illustrating an example identification offirst and second portions of a graphical element, in accordance with oneor more aspects of the present disclosure.

FIGS. 9A-9C are conceptual diagrams that illustrate examples ofoverlaying content over at least a portion of a graphical element, inaccordance with one or more aspects of the present disclosure.

FIGS. 10A and 10B are conceptual diagrams that illustrate an example ofmultiple instances of content that at least partially overlays a portionof a graphical element or image, in accordance with one or more aspectsof the present disclosure.

FIG. 11 is a flowchart illustrating example operations of a computingdevice, in accordance with one or more aspects of the presentdisclosure.

DETAILED DESCRIPTION

Examples described in this disclosure relate to techniques for managingand presenting notification content. For example, a computing devicemay, in response to receiving a notification or a correspondingcommunication, identify first and second portions of an image or agraphical element. These portions may, in some examples, be associatedwith respective first and second portions of a face of a human user. Thecomputing device may output, for display at a display device, the firstand second portions of the image or graphical element, and may furtheroutput content included in the notification or otherwise associated withthe corresponding communication, such that the content as displayed atleast partially overlays the second portion of the image or graphicalelement. As a result, both a portion of the image or graphical elementand a portion of the content may be viewable at the same time, and aviewer (e.g., user of the computing device) may be able to identify theoriginator of the notification or corresponding communication.

As one example, the computing device may output message content fordisplay in a region of a display device that is adjacent to and beneaththe first portion of the image. This first portion of the image may beassociated with a first portion of a face that includes both eyes of ahuman user who has been determined to be an originator of the incomingcommunication. In some instances, the computing device may perform afacial recognition process to identify the first portion of the image.The computing device may output the message content such that it isdisplayed in a manner that at least a portion of it appears overlaid onthe second portion of the image, but leave the first portion of theimage exposed (e.g., from the originator's eyes up) to allow a viewer ofthe display device (e.g., user of the computing device) to view themessage content yet also identify the originator of the communication.

In some examples, and as will be described in further detail below, thecomputing device may also adjust or otherwise determine an amount ofnotification content that is to be output for display based on animportance or priority of the content. For example, if the computingdevice determines that first notification content associated with afirst notification has a higher importance or priority than secondnotification content associated with a second notification, thecomputing device may output both the first and second notificationcontent, but may output a larger amount of the first notificationcontent as compared to the second notification content. As a result, theuser of the computing device may be able to visually identify that thefirst notification content has higher importance or priority, and may beable to view a larger quantity of content associated with the firstnotification.

Techniques of this disclosure may provide one or more advantages. Forexample, techniques of this disclosure may provide improved managementof content associated with notifications and may help ensure that a userobtains sufficient information from a presentation of a notification.Not only may a user be able to view various different portions ofnotification content at the same time, the user may also be able topotentially identify an originator of a notification or correspondingcommunication, as well. Better presentation, management, andcustomization of notifications may provide a better user experience andmay require fewer inputs from a user to perform actions in response tonotifications, which may result in an improved user experience as wellas potential power and/or bandwidth efficiencies for the computingdevice.

FIG. 1A is a conceptual diagram illustrating an example computing device10 that is configured to output notification content, in accordance withone or more aspects of the present disclosure. Examples of computingdevice 10 may include, but are not limited to, a mobile phone, a tabletcomputer, a personal digital assistant (PDA), a laptop computer, aportable gaming device, a portable media player, an e-book reader, awearable computing device (e.g., a watch, a wrist-mounted computingdevice, a head-mounted computing device), a television platform, orother type of computing device. As will be described in further detailbelow, computing device 10 may be or include one or more processors.Computing device 10 may be attached or otherwise coupled to a wristband30 worn by a user.

As shown in FIG. 1A, computing device 10 includes a user interfacedevice (UID) 12. UID 12 may function as an input device and/or an outputdevice for computing device 10. UID 12 may be implemented using varioustechnologies. For instance, UID 12 may function as an input device usinga presence-sensitive input device, such as a resistive touchscreen, asurface acoustic wave touchscreen, a capacitive touchscreen, aprojective capacitance touchscreen, a pressure-presence-sensitivescreen, an acoustic pulse recognition touchscreen, or anotherpresence-sensitive technology. UID 12 may function as an output deviceusing any of one or more display devices, such as a liquid crystaldisplay (LCD), dot matrix display, light emitting diode (LED) display,organic light-emitting diode (OLED) display, e-ink, or similarmonochrome or color display capable of outputting visible information toa user of computing device 10.

As one example, UID 12 of computing device 10 may include apresence-sensitive screen that may receive tactile input from a user ofcomputing device 10. UID 12 may receive indications of the tactile inputby detecting one or more gestures from a user of computing device 10(e.g., the user touching or pointing to one or more locations of UID 12with a finger or a stylus pen). The presence-sensitive screen of UID 12may also present output to a user. UID 12 may present the output as orin a graphical user interface, which may be associated withfunctionality provided by computing device 10. For example, UID 12 maypresent various user interfaces of applications 24A-24N (collectively,“applications 24”) executing at computing device 10. A user may interactwith a respective user interface of each of applications 24 to causecomputing device 10 to perform operations relating to correspondingapplication functionality.

In some examples, computing device 10 may include one or morecommunication units 14. Communication units 14 may send data to and/orreceive data from one or more other computing devices. In some examples,communication units 14 support wireless and/or wired communication.Communication units 14 may send and/or receive data using any variety ofcommunication protocols.

Computing device 10 may also include user interface (“UI”) module 20,notification service module 22, and applications 24. Modules 20, 22 andapplications 24 may perform operations described herein using software,hardware, firmware, or a mixture of hardware, software, and firmwareresiding in and/or executing at computing device 10. Computing device 10may execute modules 20, 22 and applications 24 using one or moreprocessors. Computing device 10 may, in some cases, execute modules 20,22 and applications 24 as one or more virtual machines executing onunderlying hardware. Modules 20, 22 and applications 24 may beimplemented in various ways. For example, any of modules 20, 22 and/orapplications 24 may be implemented as a downloadable or pre-installedapplication or “app.” Modules 20, 22 and applications 24 may also, insome examples, execute as a service of an operating system or computingplatform.

Applications 24 of computing device 10 may perform various functions oraccess one or more services for computing device 10. An e-mailapplication, a calendar application, a messaging application, a socialmedia application, a travel application, a game application, a stockapplication, and a weather application are all examples of applications24. UI module 20 may cause UID 12 to present a graphical user interfaceto a user. For example, the graphical user interface may includegraphical elements (e.g., indications) displayed at various locations ofUID 12. As described herein, a messaging application may be any type ofapplication that processes one or more messages that are each associatedwith message content. The message content associated with any givenmessage may include textual content and/or one or more other forms ofmedia content (e.g., image content, video content, audio content). Themessages may, in various examples, comprise one or more communications.In some cases, the messages may comprise instant messages.

In various examples, one or more of applications 24 may generate one ormore corresponding notifications. These notifications may include orotherwise be associated with notification content and may be processedby notification service module 22. Notification service module 22 mayexecute as an application and/or as a service of, for example, anoperating system or computing platform of computing device 10.Notification service module 22 may perform functions associated withreceiving, managing, and otherwise handling some, or all, of thenotifications that are generated by applications 24 and/or received bycomputing device 10 via communication units 14 from services andapplications executing remote to computing device 10 (e.g., at a serveror network cloud, at computing device 11 shown in FIG. 1B). As oneexample, when application 24A generates a notification, notificationservice module 22 may receive and process the notification, and providecontent associated with the notification to UI module 20.

UI module 20 may, in some cases, act as an intermediary between variouscomponents of computing device 10 to make determinations based on inputdetected by UID 12 and to generate output presented by UID 12. Forinstance, UI module 20 may receive information from UID 12 related toinput detected by UID 12 and transmit the input information to one ormore of applications 24. UI module 20 may also receive notificationinformation and/or content from notification service module 22, whichcorresponds to one or more notifications received by notificationservice module 22 (e.g., notifications generated by applications 24). UImodule 20 may provide notification content and/or other informationassociated with the notifications to UID 12 for output to a user.

For example, if application 24A is an email or a messaging application,application 24A may receive an indication of an incoming communicationfrom an external device via communication units 14 (e.g., an externaldevice executing a similar email or messaging application, computingdevice 11 shown in FIG. 1B). To notify a user of the receipt of thecommunication, application 24A may generate and send a notification tonotification service module 22. Notification service module 22 mayreceive the notification, process the notification, and sendcorresponding notification content to UI module 20. UI module 20 mayreceive this notification content from notification service module 22and cause UID 12 output the content for display.

Computing device 10 may receive an indication of an input detected UID12, where the input corresponds to a selection of one or more portionsof the notification content that is output for display at UID 12. Forexample, a user may perform a gesture with one or more fingers at alocation of UID 12. UI module 20 may receive information about the inputfrom UID 12 and determine that the input occurred at a locationcorresponding to at least a portion of the notification content.

UI module 20 may send data associated with the input (e.g., informationabout one or more gesture events) to notification service module 22.Notification service module 22 may determine, based on the data from UImodule 20, that the input represents an input from a user to selectcertain content for the notification. In response, notification servicemodule 22 may provide additional notification content to UI module 20for purposes of display by UID 12. In some instances, notificationservice module 22 may also provide event information to application 24Aindicative of the user input to select certain content, such thatapplication 24A may implement further actions or functionality.

In the particular example shown in FIG. 1A, it is assumed thatnotification service module 22 receives a notification from one ofapplications 24 related to a message. As noted above, application 24Amay comprise an email or a messaging application. Application 24A mayreceive an indication of an incoming communication. To notify a user ofthe receipt of the incoming communication, application 24A may generateand send a notification to notification service module 22. Thisnotification may include content associated with the incomingcommunication. For instance, the notification content may include anindication of the name of the account associated with the incomingcommunication (e.g., a name of the originator of the communication),which may allow, in some instances, application 24A and/or notificationservice module 22 to determine the originator of the communication. Thenotification content may also include a subject and one or moreadditional words associated with the communication.

Notification service module 22 may receive the notification, process thenotification, and send information associated with the notification,including the notification content and any other related information, toUI module 20. UI module 20 may receive this information fromnotification service module 22 and cause UID 12 output the informationfor display.

In the example of FIG. 1A, the notification content includes messagecontent associated with the incoming communication, as well as an image32 (or a link to image 32) that represents a face of a human user whohas been determined (e.g., by application 24A, notification servicemodule 22, and/or a device external to computing device 10) to be theoriginator of the communication. For example, if the incomingcommunication was originated by a person named “John Jones,” image 32 isa representation of the face of “John Jones.” Message content 36 mayinclude one or more portions of the message that is associated with theincoming communication.

In some examples, the incoming communication may include image 32 and/ormessage content 36, which is included in the notification contentprovided by application 24A to notification service module 22. In otherexamples, application 24A and/or notification service module 22 mayobtain one or more portions of image 32 and/or message content 36 basedon the information contained in the incoming communication. For example,application 24A may retrieve one or more portions of image 32 and/ormessage content 36 from an external server or computing device (e.g.,computing device 11 shown in FIG. 1B) based on the information containedin the incoming communication (e.g., information that identifies anaddress, link, or other source data associated with the externalserver/device). In some instances, application 24A may have previouslystored one or more portions of image 32 in a local data repository, andmay retrieve or otherwise have access to the one or more portions ofimage 32 in response to receiving the incoming communication, as will bedescribed in further detail below.

In many instances, it may be helpful to output image 32 of theoriginator of the incoming communication contemporaneously with at leasta portion of message content 36, such that a viewer of UID 12 (e.g., theuser of computing device 10) may be able to more quickly identify theoriginator of the communication. However, based on certain limitationsthat may exist with respect to a size of UID 12 (e.g., size of apresence-sensitive screen), it may be difficult to output an entirety ofimage 32 along with message content 36 at the same time. As a result,UID 12 may overlay at least a portion of message content 36 onto image32. However, it may also be undesirable to cover a substantial portionof image 32 representing the originator's face, such that a viewer ofUID 12 (e.g., the user of computing device 10) is unable to accuratelyidentify the originator. For example, it may be potentially difficultfor the user of computing device 10 to identify the originator if theviewable portions of image 32 include only portions that correspond tocertain features such as the forehead or hair, but does not includeadditional identifying features.

Thus, in one or more examples, notification service module 22 mayidentify first and second portions 34, 35 of image 32 that areassociated with respective first and second portions of the face of ahuman user. In the example of FIG. 1A, the human user is “John Jones,”who has been determined (e.g., by application 24A, notification servicemodule 22, and/or a device external to computing device 10) to be theoriginator of the incoming notification. To allow a viewer of UID 12(e.g., user of computing device 10) to sufficiently identify the face of“John Jones,” notification service module 22 may identify first portion34 of image 32 that is associated at least with both eyes of “JohnJones” (where the first portion of the face includes the eyes). In thisexample, second portion 35 of image 32 is associated with a secondportion of the face of “John Jones,” which includes a nose and mouth. Asa result, a viewer (e.g. the user of computing device 10) may be able toidentify “John Jones” as the originator of the incoming communication byviewing a display of image 32 that includes first portion 34, wherefirst portion 34 is associated at least with both eyes of “John Jones.”

In some examples, notification service module 22 and/or another module(e.g., image processing module 54 shown in FIG. 2) may perform imagerecognition on image 32 in order to identify first and second portions34, 35 of image 32. For example, notification service module 22 mayimplement any known method of facial recognition to identify theseportions of the face in image 32. In certain examples, a device externalto computing device 10 (e.g., computing device 11 of FIG. 1B) mayperform the image/facial recognition on image 32 and provide informationrelated to first and second portions 34, 35 of image 32 to notificationservice module 22 via communication units 14. In these examples,notification service module 22 may provide the external device withimage 32 or a reference to image 32.

In other examples, notification service module 22 may already haveaccess to location information for features of the face of the humanuser (e.g., “John Jones”), where the location information associateseach of the facial features with a corresponding region at which therespective facial feature is represented in image 32. In these examples,notification service module 22 or an external device may have previouslyperformed image/facial recognition on image 32, and notification servicemodule 22 may have stored corresponding location information in a localrepository. For instance, notification service module 22 may havepreviously processed other incoming communications originated from “JohnJones,” and may have previously identified first and second portions 34,35 of the image associated with the respective portions of the face of“John Jones.” By utilizing the previously stored location information,notification service module 22 avoids the image/facial recognitionprocess for previously identified images.

In still other examples, rather than utilizing any image/facialrecognition processes, notification service module 22 may instead splitimage 32 of “John Jones” into distinct portions based on image size. Forinstance, notification service module 22 may split image 32 into top andbottom portions of predefined sizes (e.g., equal sizes), where it isassumed that the top portion of image 32 is likely associated with aportion of the face that includes both eyes, and the bottom portion islikely associated with a portion of the face that includes the nose andmouth.

Notification service module 22 provides notification content associatedwith the incoming communication to UI module 20, which includes image32, or a reference to image 32 (e.g., if image 32 is stored in a localdata repository of computing device 10), as well as an identification offirst and second portions 34, 35 of image 32, as will be described infurther detail below. The notification content further includes at leasta portion of message content 36 associated with the incomingcommunication.

UI module 20 interacts with UID 12, and outputs the notification contentfor display by UID 12. In particular, as shown in FIG. 1A, UI module 20outputs first portion 34 of image 32 for display by UID 12, and furtheroutputs second portion 35 of image 32, where first portion 34 and secondportion 35 are associated with the respective first and second portionsof the face of “John Jones.” However, as shown in FIG. 1A, UI module 20further outputs message content 36 associated with the incomingcommunication, such that message content 36 as displayed by UID 12 atleast partially overlays second portion 35 of image 32. In thisparticular example, message content 36 is output for display in a regionof UID 12 that is adjacent to and beneath first portion 34. As a result,both first portion 34 of image 32 and message content 36 are viewable bythe user of computing device 10 at substantially the same time. Inaddition, because first portion 34 includes one or more features of theface of “John Jones” (e.g., both eyes), the user may potentially be ableto quickly identify the originator of the message as “John Jones.”

In FIG. 1A, message content 36 overlays second portion 35 of image 32.In some cases, message content 36 may completely block second portion 35from view by the user of computing device 10, such that the user may notbe able to see any of second portion 35. However, in some other cases,message content 36 may be at least partly translucent, such that messagecontent 36, as displayed, may at least partially expose second portion35 of image 32 for view by the user.

In some examples, one or more of the actions described above as beingperformed by notification service module 22 may be performed by one ormore other modules or applications. For instance, one or more of suchactions may be performed by UI module 20 or one or more of applications24.

Although shown in FIG. 1A as textual content, message content 36 mayinclude any form of content (e.g., one or more of textual content, imagecontent, video content, audio content) associated with a correspondingone of applications 24, where at least a portion of a representation ofmessage content 36 at least partially overlays second portion 35 ofimage 32. For example, if application 24A is an email application,message content 36 may include any form of email-related content. Inanother non-limiting example, if application 24A is a messagingapplication, message content 36 may include any form of messagingcontent.

Computing device 10 may receive an indication of an input detected UID12, where the input corresponds to a selection of one or more portionsof the notification content that is output for display at UID 12. Forexample, a user may perform a gesture with one or more fingers at alocation of UID 12. UI module 20 may receive information about the inputfrom UID 12 and determine that the input occurred at a locationcorresponding to message content 36. In this case, the user may wish toview additional message content not initially included in messagecontent 36.

UI module 20 may send data associated with the input (e.g., informationabout one or more gesture events) to notification service module 22.Notification service module 22 may determine, based on the data from UImodule 20, that the input represents an input from a user to selectmessage content 36. In response, notification service module 22 mayprovide additional content and/or information associated with thenotification to UI module 20 for purposes of display by UID 12. In someinstances, notification service module 22 may also provide eventinformation to application 24A indicative of the user input to selectcertain content, such that application 24A may implement further actionsor functionality.

In some situations, notification service module 22 may receive anotification having content that is not necessarily associated with ahuman originator. For example, if application 24A is a weather, stock,travel, game, calendar, or social media application, application 24A maygenerate and send corresponding weather, stock, travel, game, calendar,or social media notifications to notification service module 22. Unlikemessaging content for messaging notifications, the content for othertypes of notifications is not necessarily associated with a humanoriginator.

Thus, in certain examples, in response to notification service module 22receiving a notification from one of applications 24 (e.g., application24A), notification service module 22 and/or UI module 20 identifiesfirst and second portions of a graphical element, wherein the graphicalelement represents an application that has been determined (e.g., byapplication 24A, notification service module, and/or a device externalto computing device 10) to be associated with an originator of thenotification. The graphical element may comprise a graphicalrepresentation of the application (e.g., an icon). UI module 20 mayoutput the first and second portions of the graphical element fordisplay at UID 12. In addition, UI module 20 may output content includedin the notification for display at UID 12, such that the content asdisplayed at least partially overlays the second portion of thegraphical element. As a result, both the first portion of the graphicalelement and the content are viewable by the user of computing device 10at substantially the same time, and the user may potentially be able toquickly identify the originator of the notification more quickly.

In some examples, notification service module 22 receive multipledifferent notifications are each originated by the same entity. Forexample, if application 24A is a weather application that generatesweather-related notifications, notification service module 22 mayreceive multiple weather-related notifications over that each originatefrom the same application 24A. If application 24A is an email ormessaging application, notification service module 22 may receivemultiple messaging notifications over time from application 24A, wherethe messaging notifications are based on incoming communicatedoriginated from the same human user (e.g., “John Jones”).

In these examples, notification service module 22 may process a firstnotification in a fashion similar to that described above, such that UImodule 20 outputs first and second portions of a graphical element orimage, where the graphical element or image has been determined to beassociated with an originator of a corresponding notification and/orincoming communication. UI module 26 also outputs content for display atUID 12, where the content at least partially overlays the second portionof the graphical element or image.

At a later point in time, notification service module 22 may process asecond notification that includes second content, where the secondnotification or corresponding communication has the same originator. UImodule 20 may output, for display at UI D12, the second content suchthat it at least partially overlays the second portion of the graphicalelement or image. In certain cases, notification service module 22and/or UI module 20 may determine, based on a priority associated withthe displayed content, the amount of content to output for display, aswill be further described in more detail below.

Some of these techniques may provide for potentially improved managementof content associated with notifications 18 and may help ensure a usercan obtain sufficient information from notifications 18 when computingdevice 10 presents notification center 16. Not only may a user be ableto view various different portions of notification content at the sametime, the user may also be able to potentially identify an originator ofa notification or corresponding communication, as well. Bettermanagement and configuration of notifications 18 may result in fewerinputs from a user to perform functions with computing device 10. As aresult, computing device 10 may perform fewer operations associated witha function and in turn, consume less electrical power.

FIG. 1B is a conceptual diagram illustrating another example ofcomputing device 10 that communicates with an external computing device11, in accordance with one or more aspects of the present disclosure. Inthe example of FIG. 1B, computing device 10 may operate similarly tothat described in reference to FIG. 1A. However, in FIG. 1B, computingdevice 10 is further communicatively coupled to an external computingdevice, namely computing device 11. Examples of computing device 11 mayinclude, but are not limited to, a mobile phone, a tablet computer, aPDA, a laptop computer, a portable gaming device, a portable mediaplayer, an e-book reader, a wearable computing device (e.g., a watch, awrist-mounted computing device, a head-mounted computing device), atelevision platform, or other type of computing device. Computing device11 may be or include one or more processors.

Computing device 11 includes one or more communication units 37, anotification service module 38, and one or more applications 39A-39N(collectively, “applications 39”). Communication units 37, notificationservice module 38, and applications 39 of computing device 11 mayfunction similarly to communication units 14, notification servicemodule 22, and applications 24, respectively, of computing device 10. Insome cases, computing device 11 may include one or more additionalcomponents, such as a user interface device and a user interface module,which may function similarly to UID 12 and UI module 20 of computingdevice 10.

Communication units 14 of computing device 10 and communication units 37of computing device 11 may each send data to and/or receive data fromone or more other computing devices. Communication units 14 and 37 eachmay support wireless and/or wired communication, and may each sendand/or receive data using any variety of communication protocols. Insome examples, communication units 14 and 37 may allow computing devices10 and 11, respectively, to communicate with each other usingshort-range communication (e.g., near-field communication, other formsof short-range wireless communication).

In the example of FIG. 1B, if application 39A is an email or a messagingapplication, application 39A may receive an indication of an incomingcommunication from an external device via communication units 37 (e.g.,an external device executing a similar email or messaging application).Application 39A may generate and send a notification to notificationservice module 38. Notification service module 38 may receive thenotification and process the notification internally. In certain othercases, application 39A may generate and send notifications tonotification service module 38 for processing, where such notificationsare generated directly by application 39A during its execution. In theseexamples, computing device 11 may function similarly to that ofcomputing device 10 as described in FIG. 1A.

However, in various examples, in addition to processing notificationsinternally, notification service module 38 may also send notificationsto notification service module 22 of computing device 10 (e.g., viacommunication units 37 of computing device 11 and communication units 14of computing device 10, respectively). For example, if application 39Agenerated and sent a notification to notification service module 38based on an incoming communication determined (e.g., by application 39Aand/or notification service module 38) to be originated from “JohnJones,” notification service module 38 may send the notification tonotification service module 22 of computing device 10 for processing,similar to that described in reference to FIG. 1A. This notification mayhave notification content that includes message content associated withthe incoming communication, as well as an image 32 (or a link to image32) that represents a face of “John Jones.” The message content (e.g.,message content 36 shown in FIG. 1A) may include one or more portions ofthe message that is associated with the incoming communication.

In some examples, the incoming communication may include image 32 and/ormessage content 36, which is included in the notification contentprovided by notification service module 38 to notification servicemodule 22. In other examples, application 39A and/or notificationservice module 38 may obtain one or more portions of image 32 and/ormessage content 36 based on the information contained in the incomingcommunication. For example, application 39A may retrieve one or moreportions of image 32 and/or message content 36 from an external serverbased on the information contained in the incoming communication (e.g.,information that identifies an address, link, or other source dataassociated with the external server/device). In some instances,application 39A may have previously stored one or more portions of image32 in a local data repository, and may retrieve or otherwise have accessto the one or more portions of image 32 in response to receiving theincoming communication.

In some examples, notification service module 38 and/or another module(e.g., image processing module 54 shown in FIG. 2) may perform imagerecognition on image 32. For example, notification service module 38 mayimplement any known method of facial recognition on image 32. In certainexamples, a device external to computing device 11 may perform theimage/facial recognition on image 32. In these examples, notificationservice module 38 may provide the external device with image 32 or areference to image 32.

In other examples, notification service module 38 may already haveaccess to location information for features of the face of the humanuser (e.g., “John Jones”), where the location information associateseach of the facial features with a corresponding region at which therespective facial feature is represented in image 32. In these examples,notification service module 38 or an external device may have previouslyperformed image/facial recognition on image 32, and notification servicemodule 38 may have stored corresponding location information in a localrepository.

Notification service module 38 may provide the notification associatedwith the incoming communication to notification service module 22 ofcomputing device 10 for processing in a manner similar to that describedin reference to FIG. 1A. This notification may comprise an indicationthe incoming communication. The notification may include message content36 and/or image 32, or a reference to message content 36 and/or image 32(e.g., if message content 36 and/or image 32 is stored in a local datarepository of computing device 11 or on an external server). Responsiveto receiving the notification, notification service module 22 ofcomputing device 10 may identify first portion 34 and second portion 35of image 32, such that message content 36 as displayed may at leastpartially overly second portion 35 of image 32, as described inreference to FIG. 1A.

Thus, according to the example of FIG. 1B, various operations may beperformed by computing device 11 in combination with computing device10. For example, computing device 10 may not, in certain cases, directlyreceive incoming communications (e.g., emails) and/or perform imagerecognition techniques, which may instead be performed by computingdevice 11. Computing device 11 may generate notifications associatedwith these incoming communications and send such notifications tocomputing device 10 for processing. Computing device 10 may identifyfirst portion 34 and second portion 35 of image 32 based on a givennotification, output first and second portions 34, 35 of image 32 fordisplay, and output message content 36 for display, such that messagecontent 36 as displayed at least partially overlays second portion 35 ofimage 32.

FIG. 2 is a block diagram illustrating an example computing device 21,in accordance with one or more aspects of the present disclosure.Computing device 21 of FIG. 2 is described below within the context ofFIGS. 1A and 1B. Computing device 21 may comprise one example ofcomputing device 10 and/or computing device 11. FIG. 2 illustrates onlyone particular example of computing device 21, and many other examplesof computing device 21 may be used in other instances and may include asubset of the components included in example computing device 21 or mayinclude additional components not shown in FIG. 2.

As shown in the example of FIG. 2, computing device 21 includes userinterface device 71 (“UID 71”), one or more processors 40, one or moreinput devices 42, one or more communication units 44, one or more outputdevices 46, power source 70, and one or more storage devices 48. Storagedevices 48 of computing device 21 also include UI module 66,notification service module 64, applications 68A-68N (collectively,“applications 68”), gesture module 62, image processing module 54,prioritization module 60, operating system 52, and image repository 58.Communication channels 50 may interconnect each of the components 40,42, 44, 46, 48, 70, and 71 for inter-component communications(physically, communicatively, and/or operatively). In some examples,communication channels 50 may include a system bus, a networkconnection, an inter-process communication data structure, or any othermethod for communicating data between hardware and/or software.

One or more input devices 42 of computing device 21 may receive input.Examples of input are tactile, audio, and video input. Examples of inputdevices 42 include a presence-sensitive screen, touch-sensitive screen,mouse, keyboard, voice responsive system, video camera, microphone orany other type of device for detecting input from a human or machine. Insome examples, input devices 64 may include a presence-sensitive inputdevice, such as a presence-sensitive screen, a touch-sensitive screen,or a trackpad, to name only a few examples.

One or more output devices 46 of computing device 21 may generateoutput. Examples of output are tactile, audio, and video output.Examples of output devices 46 include a presence-sensitive screen, soundcard, video graphics adapter card, speaker, cathode ray tube (CRT)monitor, liquid crystal display (LCD), or any other type of device forgenerating output to a human or machine. Output devices 46 may includedisplay devices such as cathode ray tube (CRT) monitor, liquid crystaldisplay (LCD), or any other type of device for generating tactile,audio, and/or visual output.

One or more communication units 44 of computing device 21 maycommunicate with external devices via one or more networks bytransmitting and/or receiving network signals on the one or morenetworks. For example, computing device 21 may use communication unit 44to transmit and/or receive radio signals on a radio network such as acellular radio network. Likewise, communication units 44 may transmitand/or receive satellite signals on a satellite network such as a globalpositioning system (GPS) network. Examples of communication unit 44include a network interface card (e.g. such as an Ethernet card), anoptical transceiver, a radio frequency transceiver, a GPS receiver, orany other type of device that can send and/or receive information. Otherexamples of communication units 44 may include short wave radios,cellular data radios, wireless Ethernet network radios, as well asuniversal serial bus (USB) controllers. Communication units 44 maycomprise one example of communication units 14 of computing device 10and/or communication units 37 of computing device 11.

In some examples, UID 71 of computing device 21 may includefunctionality of input devices 42 and/or output devices 46. UID 71 maycomprise one example of UID 12 of computing device 10. In the example ofFIG. 2, UID 71 may be or may include a presence-sensitive screen. Insome examples, a presence-sensitive screen may detect an object atand/or near the presence-sensitive screen. As one example range, apresence-sensitive screen may detect an object, such as a finger orstylus that is within two inches or less of the presence-sensitivescreen. The presence-sensitive screen may determine a location (e.g., an(x,y) coordinate) of the presence-sensitive screen at which the objectwas detected. In another example range, a presence-sensitive screen maydetect an object six inches or less from the presence-sensitive screenand other ranges are also possible. The presence-sensitive screen maydetermine the location of the screen selected by a user's finger usingcapacitive, inductive, and/or optical recognition techniques. In someexamples, presence sensitive screen provides output to a user usingtactile, audio, or video stimuli as described with respect to outputdevices 46.

In some examples, UID 71 may also provide output to a user usingtactile, audio, or video stimuli as described with respect to outputdevices 46. For instance, UID 71 may include display device 72 thatpresents a graphical user interface. Display device 72 may be any typeof output device that provides visual output, such as described withrespect to output devices 46. While illustrated as an integratedcomponent of computing device 21, UID 71 may, in some examples, be anexternal component that shares a data path with other components ofcomputing device 21 for transmitting and/or receiving input and output.For instance, UID 71 may be a built-in component of computing device 21located within and physically connected to the external packaging ofcomputing device 21 (e.g., a screen on a mobile phone). In anotherexample, UID 71 may be an external component of computing device 21located outside and physically separated from the packaging of computingdevice 21 (e.g., a monitor or a projector that shares a wired and/orwireless data path with a tablet computer). In some examples, UID 71,when located outside of and physically separated from the packaging ofcomputing device 21, may collectively refer to two components: apresence-sensitive input device 74 for receiving input and a displaydevice 72 for providing output.

One or more storage devices 48 within computing device 21 may storeinformation for processing during operation of computing device 21(e.g., computing device 21 may store data accessed by one or moreapplications 68 during execution at computing device 21). In someexamples, storage device 48 is a temporary memory, meaning that aprimary purpose of storage device 48 is not long-term storage. Storagedevices 48 on computing device 21 may configured for short-term storageof information as volatile memory and therefore not retain storedcontents if powered off. Examples of volatile memories include randomaccess memories (RAM), dynamic random access memories (DRAM), staticrandom access memories (SRAM), and other forms of volatile memoriesknown in the art.

Storage devices 48, in some examples, also include one or morecomputer-readable storage media. Storage devices 48 may be configured tostore larger amounts of information than volatile memory. Storagedevices 48 may further be configured for long-term storage ofinformation as non-volatile memory space and retain information afterpower on/off cycles. Examples of non-volatile memories include magnetichard discs, optical discs, floppy discs, flash memories, or forms ofelectrically programmable memories (EPROM) or electrically erasable andprogrammable (EEPROM) memories. Storage devices 48 may store programinstructions and/or data associated with UI module 66, notificationservice module 64, applications 68, gesture module 62, operating system52, image processing module 54, prioritization module 60, and/or imagerepository 58.

As shown in FIG. 2, computing device 21 may include a power source 70.In some examples, power source 70 may be a battery. Power source 70 mayprovide power to one or more components of computing device 2. Examplesof power source 70 may include, but are not necessarily limited to,batteries having zinc-carbon, lead-acid, nickel cadmium (NiCd), nickelmetal hydride (NiMH), lithium ion (Li-ion), and/or lithium ion polymer(Li-ion polymer) chemistries. In some examples, power source 70 may havea limited capacity (e.g., 1000-3000 mAh).

One or more processors 40 may implement functionality and/or executeinstructions within computing device 21. For example, processors 40 oncomputing device 21 may receive and execute instructions stored bystorage devices 48 that execute the functionality of UI module 66,notification service module 64, applications 68, gesture module 62,operating system 52, image processing module 54, overlay module 56, andprioritization module 60. These instructions executed by processors 40may cause computing device 21 to store information within storagedevices 48 during program execution. Processors 40 may executeinstructions of operating system 52 and applications 68 to perform oneor more operations. That is, operating system 52 and applications 68 maybe operable by processors 40 to perform various functions describedherein.

In accordance with aspects of this disclosure, one or more ofapplications 68 may receive an incoming communication from an externaldevice. (Applications 68 may comprise one example of applications 24 ofcomputing device 10 and/or applications 39 of computing device 11.) Forexample, if application 68A is an email or a messaging application,application 68A may receive the incoming communication from an externaldevice. (In other examples, the incoming communication may comprisevarious other forms of communications depending on the application. Forinstance, the incoming communication may also comprise a social mediacommunication, a calendar reminder, a travel-related communication, agame-related communication, a stock-related communication, or aweather-related communication.)

Communication units 44 may receive the incoming communication andprovide the communication to application 68A via communication channels50. To notify a user of the receipt of the incoming communication,application 68A may generate and send a notification to notificationservice module 64. This notification may include notification contentassociated with the incoming communication. For example, thenotification content may include message content and/or an image thatare associated with the incoming communication, where the image isassociated with a human user who has been determined to be an originatorof the incoming communication.

As described in the example of FIG. 1B, in some instances, in additionto processing notifications internally, notification service module 64may also send notifications to an external device for processing (e.g.,via communication units 44). For example, if application 68A generatedand sent a notification to notification service module 64 based on anincoming communication, notification service module 64 may send thenotification to a notification service module of an external computingdevice for processing, similar to that described in reference to FIG.1B. This notification may have notification content that includesmessage content associated with the incoming communication, as well asan image.

However, in various examples, computing device 21 may also furtherprocess the notifications. In some cases, the notification content mayinclude references or links to the message content and/or the image,such that notification service module 64 may obtain the message contentand/or the image from another source (e.g., a source local to computingdevice 21, a source external to computing device 21). For example, insome instances, computing device 21 may store images and other relatedinformation (e.g., location information, as described later) in imagerepository 58. Image repository 58 may include one or more images thathave been previously stored by computing device 21. For example, theimages stored in image repository 58 may include images that correspondto contacts of a user of computing device 21 (e.g., for emailapplications, messaging applications). If one or more of applications 68have previously received and/or processed such images, these images maybe stored in image repository 58 for later use.

In one non-limiting scenario, application 68A may have previouslyreceived an indication of an incoming communication originated from auser named “John Jones,” and may have additionally received an imageassociated with “John Jones.” Application 68A may have stored this imagein image repository 58. If application 68A later receives anotherincoming communication determined to be originated by the user “JohnJones,” application 68A may access the previously stored imageassociated with “John Jones,” even if the new incoming communicationdoes not include (or does not reference) any image. Application 68A maydetermine the originator as “John Jones” based on other informationincluded with the communication (e.g., header, “from” address, name).

Image repository 58 may also include other information associated withimages. In some examples, image repository 58 may include locationinformation for any individual image. For instance, for a given imagethat is stored in image repository 58, location information may also bestored in image repository 58 that associates each of a plurality offacial features with a corresponding region at which the respectivefacial feature is represented in the image.

Notification service module 64 may identify first and second portions ofthe image that are associated with respective first and second portionsof the face of a human user. (Notification service module 64 maycomprise one example of notification service module 22 of computingdevice 10 and/or notification service module 38 of computing device 11.)In some cases, notification service module 64 may interact with imageprocessing module 54 to identify the first and second portions of theimage. For instance, image processing module 54 may perform imagerecognition on the image to identify the first and second portions ofthe image. Image processing module 54 may implement one or more facialrecognition algorithms to perform the identification process. In somecases, however, image processing module 54 and/or notification servicemodule 64 may provide the image to a device that is external tocomputing device 21, where the external device performs facialrecognition on the image and provides information identifying the firstand second portions of the image back to image processing module and/ornotification service module 64, where the first and second portions ofthe image are associated with respective first and second portions ofthe face of the user.

As noted above, however, image repository 58 may include locationinformation for any individual image. The location information mayassociate each of a plurality of facial features with a correspondingregion at which the respective facial feature is represented in animage. In these examples, notification service module 64 or an externaldevice may have previously performed image/facial recognition on theimage, and notification service module 64 may have stored correspondinglocation information in a local repository. By utilizing the previouslystored location information, notification service module 64 avoids theimage/facial recognition process for previously identified images.

In these examples, notification service module 64 is capable ofidentifying the first portion of the image, which is associated with thefirst portion of the face of the user, based at least in part on thelocation information. The first portion of the face includes a firstgroup of one or more of the facial features. Notification service module64 is also capable of identifying the second portion of the image, whichis associated with the second portion of the face, based at least inpart on the location information. The second portion of the faceincludes a second group of one or more of the facial features, thesecond group being different than the first group.

In still other examples, rather than utilizing any image/facialrecognition processes, notification service module 64 may instead splitthe image into distinct portions based, e.g., on image size. Forinstance, notification service module 64 may split the image into topand bottom portions of predefined sizes (e.g., equal sizes), where it isassumed that the top portion of the image is likely associated with aportion of the face that includes distinctive facial features, such asboth eyes, and the bottom portion is likely associated with a portion ofthe face that includes remaining features such as the nose and mouth.

Notification service module 64 provides notification content associatedwith the incoming communication to UI module 66, which includes theimage, or a reference to the image (e.g., if the image is stored inimage repository 58 of computing device 21), as well as anidentification of the first and second portions of the image. (UI module66 may comprise one example of UI module 20 of computing device 10.) Thenotification content further includes at least a portion of the messagecontent associated with the incoming communication.

In many instances, it may be helpful to output the imagecontemporaneously with at least a portion of the message content, suchthat a viewer (e.g., the user of computing device 21) may be able tomore quickly identify the originator. However, based on certainlimitations that may exist with respect to a size of UID 71 (e.g., sizeof a presence-sensitive screen), it may be difficult to output theentire image along with the message content at the same time.

Thus, in one or more examples, notification service module 64 and/or UImodule 66 may output the first and second portions of the image fordisplay at UID 71. Additionally, notification service module 64 and/orUI module 66 may output the message content such that it at leastpartially overlays the second portion of the image. As a result, bothfirst portion 34 of image 32 and message content 36 are viewable by theuser of computing device 21 at substantially the same time. In addition,because first portion 34 includes one or more features of the face ofthe originator of the incoming communication (e.g., both eyes), theviewer may potentially be able to quickly identify the originator.

Storage devices 48 also include prioritization module 60. Prioritizationmodule 60 may adjust or otherwise determine an amount of notificationcontent that is to be output for display based on an importance orpriority of the content. For example, if prioritization module 60determines that first notification content associated with a firstnotification has a higher importance or priority than secondnotification content associated with a second notification,prioritization module 60 may output both the first and secondnotification content, but may output a larger amount of the firstnotification content as compared to the second notification content. Asa result, the user of computing device 21 may be able to visuallyidentify that the first notification content has higher importance orpriority, and may be able to view a larger quantity of contentassociated with the first notification.

For example, after having processed a first incoming communicationassociated with first message content, as described above, one ofapplications 68 may receive a second incoming communication that isassociated with second message content. Notification service module 64and/or UI module 66 may output, for display, the second message content,where the second message content at least partially overlays the secondportion of the digital image. Prioritization module 60 may determine,based at least in part on a priority associated with the first messagecontent, an amount of the first message content to output for display.Prioritization module 60 may also determine, based at least in part on apriority associated with the second message content, an amount of thesecond message content to output for display. As a result, the user ofcomputing device 21 may be able to visually identify an importanceand/or priority of the first and second communications based on theamount of respective message content that is output for display.

The user of computing device 21 may also provide input at UID 71.Gesture module 62 may receive information about the input from UID 71and determine one or more touch events based on the input. For example,gesture module 62 of computing device 21 may receive from UID 71 one ormore indications of input detected by UID 71. Generally, each time UID71 receives an indication of input, gesture module 62 may receiveinformation about the input from UID 71. Gesture module 62 may assemblethe information received from UID 71 into a time-ordered sequence oftouch events. Each touch event in the sequence may include data orcomponents that represents parameters (e.g., when, where, originatingdirection) characterizing a presence and/or movement of input at thepresence-sensitive screen. Each touch event in the sequence may includea location component corresponding to a location of UID 71, a timecomponent associated with when UID 71 detected input at the location,and an action component associated with the touch event.

Gesture module 62 may determine one or more characteristics of the inputbased on the sequence of touch events and include information aboutthese one or more characteristics within each touch event in thesequence of touch events. For example, gesture module 62 may determine astart location of the input, an end location of the input, a density ofa portion of the input, a speed of a portion of the input, a directionof a portion of the input, and a curvature of a portion of the input.One or more touch events in the sequence of touch events may include (inaddition to a time, a location, and an action component as describedabove) a characteristic component that includes information about one ormore characteristics of the input (e.g., a density, a speed). Gesturemodule 24 may transmit over communication channels 50, as output to UImodule 66, the sequence of touch events including the components orparameterized data associated with each touch event.

Notification service module 64 and/or UI module 66 may receive the oneor more touch events from UI module 66 and determine, based on the timeand location components of the one or more touch events, that the inputrepresents a particular indication from the user. Notification servicemodule 64 and/or UI module 66 may then propagate the event or relatedinformation to a corresponding application (e.g., application 68A),which may then process the event or related information and performadditional operations based thereon.

FIG. 3 is a block diagram illustrating an example computing device thatoutputs graphical content for display at a remote device, in accordancewith one or more techniques of the present disclosure. Graphicalcontent, generally, may include any visual information that may beoutput for display, such as text, images, and/or a group of movingimages. The example shown in FIG. 3 includes a computing device 100,presence-sensitive display 101, communication unit 110, projector 120,projector screen 122, mobile device 126, and visual display device 130.In some examples, computing device 100 may be one example of computingdevice 10, 11, and/or 21. Although shown for purposes of example inFIGS. 1 and 2 as stand-alone computing devices 10, 11, and 21, acomputing device such as computing devices 10, 11, 21 and/or 100 may,generally, be any component or system that includes one or moreprocessors or other suitable computing environment for executingsoftware instructions and, for example, need not include apresence-sensitive display.

As shown in the example of FIG. 3, computing device 100 may be one ormore processors that include functionality as described with respect toprocessors 40 in FIG. 2. In such examples, computing device 100 may beoperatively coupled to presence-sensitive display 101 by a communicationchannel 102A, which may be a system bus or other suitable connection.Computing device 100 may also be operatively coupled to communicationunit 110, further described below, by a communication channel 102B,which may also be a system bus or other suitable connection. Althoughshown separately as an example in FIG. 3, computing device 100 may beoperatively coupled to presence-sensitive display 101 and communicationunit 110 by any number of one or more communication channels.

In other examples, such as illustrated previously by computing devices10, 11, and/or 21 in FIGS. 1A-1B and FIG. 2, a computing device mayrefer to a portable or mobile device such as a mobile phone (including asmart phone), a laptop computer, or a wearable device (e.g., watch). Insome examples, a computing device may be a desktop computer, a tabletcomputer, a smart television platform, a camera, a personal digitalassistant (PDA), a server, or a mainframe.

Presence-sensitive display 101 may include display device 103 andpresence-sensitive input device 105. Display device 103 may, forexample, receive data from computing device 100 and display thegraphical content. In some examples, presence-sensitive input device 105may determine one or more inputs (e.g., continuous gestures, multi-touchgestures, single-touch gestures) at presence-sensitive display 101 usingcapacitive, inductive, and/or optical recognition techniques and sendindications of such input to computing device 100 using communicationchannel 102A. In some examples, presence-sensitive input device 105 maybe physically positioned on top of display device 103 such that, when auser positions an input unit over a graphical element displayed bydisplay device 103, the location at which presence-sensitive inputdevice 105 corresponds to the location of display device 103 at whichthe graphical element is displayed. In other examples,presence-sensitive input device 105 may be positioned physically apartfrom display device 103, and locations of presence-sensitive inputdevice 105 may correspond to locations of display device 103, such thatinput can be made at presence-sensitive input device 105 for interactingwith graphical elements displayed at corresponding locations of displaydevice 103.

As shown in FIG. 3, computing device 100 may also include and/or beoperatively coupled with communication unit 110. Communication unit 110may include functionality of communication units 44 as described in FIG.2. Examples of communication unit 110 may include a network interfacecard, an Ethernet card, an optical transceiver, a radio frequencytransceiver, or any other type of device that can send and receiveinformation. Other examples of such communication units may includeBluetooth, 3G, and Wi-Fi radios, Universal Serial Bus (USB) interfaces,etc. Computing device 100 may also include and/or be operatively coupledwith one or more other devices (e.g., input devices, output devices,memory, storage devices) that are not shown in FIG. 3 for purposes ofbrevity and illustration.

FIG. 3 also illustrates a projector 120 and projector screen 122. Othersuch examples of projection devices may include electronic whiteboards,holographic display devices, and any other suitable devices fordisplaying graphical content. Projector 120 and projector screen 122 mayinclude one or more communication units that enable the respectivedevices to communicate with computing device 100. In some examples, theone or more communication units may enable communication betweenprojector 120 and projector screen 122. Projector 120 may receive datafrom computing device 100 that includes graphical content. Projector120, in response to receiving the data, may project the graphicalcontent onto projector screen 122. In some examples, projector 120 maydetermine one or more inputs (e.g., continuous gestures, multi-touchgestures, single-touch gestures) at projector screen 122 using opticalrecognition or other suitable techniques and send indications of suchinput using one or more communication units to computing device 100. Insuch examples, projector screen 122 may be unnecessary, and projector120 may project graphical content on any suitable medium and detect oneor more user inputs using optical recognition or other such suitabletechniques.

Projector screen 122, in some examples, may include a presence-sensitivedisplay 124. Presence-sensitive display 124 may include a subset offunctionality or all of the functionality of UID 71 as described in thisdisclosure. In some examples, presence-sensitive display 124 may includeadditional functionality. Projector screen 122 (e.g., an electronicwhiteboard) may receive data from computing device 100 and display thegraphical content. In some examples, presence-sensitive display 124 maydetermine one or more inputs (e.g., continuous gestures, multi-touchgestures, single-touch gestures) at projector screen 122 usingcapacitive, inductive, and/or optical recognition techniques and sendindications of such input using one or more communication units tocomputing device 100.

FIG. 3 also illustrates mobile device 126 and visual display device 130.Mobile device 126 and visual display device 130 may each includecomputing and connectivity capabilities. Examples of mobile device 126may include e-reader devices, convertible notebook devices, wearabledevices (e.g., watches), and hybrid slate devices. Examples of visualdisplay device 130 may include other semi-stationary devices such astelevisions and computer monitors. As shown in FIG. 3, mobile device 126may include a presence-sensitive display 128. Visual display device 130may include a presence-sensitive display 132. Presence-sensitivedisplays 128, 132 may include a subset of functionality or all of thefunctionality of UID 71 as described in this disclosure. In someexamples, presence-sensitive displays 128, 132 may include additionalfunctionality. In any case, presence-sensitive display 132, for example,may receive data from computing device 100 and display the graphicalcontent. In some examples, presence-sensitive display 132 may determineone or more inputs (e.g., continuous gestures, multi-touch gestures,single-touch gestures) at projector screen using capacitive, inductive,and/or optical recognition techniques and send indications of such inputusing one or more communication units to computing device 100.

As described above, in some examples, computing device 100 may outputgraphical content for display at presence-sensitive display 101 that iscoupled to computing device 100 by a system bus or other suitablecommunication channel. Computing device 100 may also output graphicalcontent for display at one or more remote devices, such as projector120, projector screen 122, mobile device 126, and visual display device130. For instance, computing device 100 may execute one or moreinstructions to generate and/or modify graphical content in accordancewith techniques of the present disclosure. Computing device 100 mayoutput the data that includes the graphical content to a communicationunit of computing device 100, such as communication unit 110.Communication unit 110 may send the data to one or more of the remotedevices, such as projector 120, projector screen 122, mobile device 126,and/or visual display device 130. In this way, computing device 100 mayoutput the graphical content for display at one or more of the remotedevices. In some examples, one or more of the remote devices may outputthe graphical content at a presence-sensitive display that is includedin and/or operatively coupled to the respective remote devices.

In some examples, computing device 100 may not output graphical contentat presence-sensitive display 101 that is operatively coupled tocomputing device 100. In other examples, computing device 100 may outputgraphical content for display at both a presence-sensitive display 101that is coupled to computing device 100 by communication channel 102A,and at one or more remote devices. In such examples, the graphicalcontent may be displayed substantially contemporaneously at eachrespective device. For instance, some delay may be introduced by thecommunication latency to send the data that includes the graphicalcontent to the remote device. In some examples, graphical contentgenerated by computing device 100 and output for display atpresence-sensitive display 101 may be different than graphical contentdisplay output for display at one or more remote devices.

Computing device 100 may send and receive data using any suitablecommunication techniques. For example, computing device 100 may beoperatively coupled to external network 114 using network link 112A.Each of the remote devices illustrated in FIG. 3 may be operativelycoupled to network external network 114 by one of respective networklinks 112B, 112C, and 112D. External network 114 may include networkhubs, network switches, network routers, etc., that are operativelyinter-coupled thereby providing for the exchange of information betweencomputing device 100 and the remote devices illustrated in FIG. 3. Insome examples, network links 112A-112D may be Ethernet, ATM(asynchronous transfer mode), or other network connections. Suchconnections may be wireless and/or wired connections.

In some examples, computing device 100 may be operatively coupled to oneor more of the remote devices included in FIG. 3 using direct devicecommunication 118. Direct device communication 118 may includecommunications through which computing device 100 sends and receivesdata directly with a remote device, using wired or wirelesscommunication. That is, in some examples of direct device communication118, data sent by computing device 100 may not be forwarded by one ormore additional devices before being received at the remote device, andvice-versa. One or more of the remote devices illustrated in FIG. 3 maybe operatively coupled with computing device 100 by communication links116A-116D. The various connections and communication links shown in FIG.3 may be wireless and/or wired connections or links.

FIG. 4 is a conceptual diagram illustrating different regions of animage that correspond to different facial features of a human user, inaccordance with one or more aspects of the present disclosure. Asdescribed previously, notification service module 64 and/or UI module 66of computing device 21 (FIG. 2) may identify first and second portionsof an image, such as image 32, which are associated with respectivefirst and second portions of a face of the human user. In some examples,notification service module 64 and/or UI module 66 may identify thesefirst and second portions of image 32, as shown in FIG. 5, based onlocation information for various different facial features, where thelocation information associates each of the facial features with acorresponding region at which the respective facial feature isrepresented in image 32. In some instances, the location information maybe stored in image repository 58, which may also store image 32.

As shown in FIG. 4, regions 150 and 152 of image 32 correspond with therespective facial features of a right eye and a left eye of the user.Regions 154 and 158 of image 32 correspond with the respective facialfeatures of a right ear and a left ear of the user. Region 156 of image32 corresponds with the facial feature of a nose of the user, and region160 corresponds with the facial feature of a mouth of the user.Notification service module 64 may process the location information thatassociates each of these facial features with the corresponding regionin image 32.

As described previously, in some cases, image processing module 54 mayperform image recognition on image 32 in order to identify first andsecond portions of image 32. Using this process, image recognitionmodule 54 may obtain the location information that associates each ofthe facial features with the corresponding region (e.g., region 150,152, 154, 156, 158, 160) and provide this information to notificationservice module 64. Image processing module 54 may implement any knownmethod of facial recognition to identify these portions of the face inimage 32 and to obtain the corresponding location information. Incertain examples, however, a device external to computing device 21 mayperform the image/facial recognition on image 32 and provide thelocation information and/or an identification of first and secondportions of image 32 to image processing module 54. In these examples,image processing module 54 may provide the external device with image 32or a reference to image 32. Image processing module 54 is capable ofproviding the location information and/or identification of the firstand second portions to notification service module 64.

In other cases, however, notification service module 64 may already haveaccess to the location information. In these cases, image processingmodule 54 or an external device may have previously performedimage/facial recognition on image 32, and image processing module 54and/or notification service module 22 may have stored the correspondinglocation information in image repository 58.

As noted above, the location information associates each of the facialfeatures with a corresponding region at which the respective facialfeature is represented in image 32. Thus, in the example of FIG. 4, thelocation information may associate the user's right eye with region 150,the user's left eye with region 152, the user's nose with region 156,the user's right ear with region 154, the user's left ear with region158, and the user's mouth with region 160. In some examples, thelocation information may provide spatial coordinates (e.g., x-ycoordinates) to define each of regions 150, 152, 154, 156, 158, and 160within image 32.

Upon receiving the location information (e.g., from image processingmodule 54, from image repository 58), notification service module 64 mayidentify, based at least in part on the location information, a firstportion (e.g., first portion 34 shown in FIGS. 1A and 1B) of image 32that is associated with a first portion of the face of the user. Thefirst portion of the face includes a first group of one or more of thefacial features. Notification service module 22 may further identify,based at least in part on the location information, a second portion ofimage 32 (e.g., second portion 35 shown in FIGS. 1A and 1B) that isassociated with a second portion of the face of the user. The secondportion of the face includes a second group of one or more of the facialfeatures. FIGS. 5 and 6 provide two examples of such identification.

FIG. 5 is a conceptual diagram illustrating a first exampleidentification of first and second portions of image 32, in accordancewith one or more aspects of the present disclosure. As shown in theexample of FIG. 5, notification service module 64 may identify firstportion 34 (e.g., the top portion, also shown in FIGS. 1A and 1B) andsecond portion 35 (e.g., bottom portion, also shown in FIGS. 1A and 1B)of image 32 based at least in part on the location information describedabove in reference to FIG. 4. First portion 34 and second portion 35 areindicated in FIG. 5 by the dotted boxes.

First portion 34 is associated with a first portion of the user's face,which may include the user's right and left eyes. As a result, firstportion 34 includes regions 150 and 152 of image 32. Second portion 35is associated with a second portion of the user's face, which mayinclude the user's right and left ears, the user's nose, and the user'smouth. As a result, second portion 35 includes regions 154, 156, 158,and 160 of image 32.

Upon receiving the location information, notification service module 64may identify first portion 34 and second portion 35 based on one or morecriteria or rules. For example, notification service module 64 maydetermine that first portion 34 will include at least regions 150 and152 that are associated with the user's eyes based on a particularcriterion or rule. This criterion or rule may be defined based on apremise that it would be potentially easier for a user of computingdevice 21 to identify the user represented in image 32 if at least theeyes are output for display in image 32. As shown in the examples ofFIGS. 7A, 7B, and 7C, content associated with a notification orcorresponding communication may be output to at least partially overlaysecond portion 35 of image 32, while leaving first portion 34 exposedfor view (e.g., such that the content, as output for display, does notoverlay first portion 34). In the example of FIG. 5, first portion 34includes, at a minimum, regions 150 and 152 associated with the rightand left eyes, respectively, but does not include regions 154, 156, 158,and 160.

FIG. 6 is a conceptual diagram illustrating a second exampleidentification of first and second portions of image 32, in accordancewith one or more aspects of the present disclosure. As shown in thealternative example of FIG. 6, notification service module 64 mayidentify first portion 166 and second portion 168 of image 32 based atleast in part on the location information described above in referenceto FIG. 4. First portion 166 and second portion 168 are indicated inFIG. 6 by the dotted boxes, and are different from first portion 34 andsecond portion 35 shown in FIG. 5.

In the example of FIG. 6, first portion 166 is associated with theuser's right and left eyes, the user's right and left ears, and theuser's nose. As a result, first portion 166 includes regions 150, 152,154, 156, and 158 of image 32. Second portion 168 is associated with theuser's mouth, and therefore second portion 168 includes only region 160of image 32. Notification service module 64 may identify first portion166 and second portion 168 based on one or more criteria or rulesspecifying that at least regions 150, 152, 154, 156, and 158 areincluded in first portion 166, which will be exposed for viewing andwill not be covered or overlaid by content associated with anotification or corresponding communication, while second portion 168,which includes region 160, may be at least partially covered by thecontent associated with the notification or corresponding communication.These criteria or rule may be defined based on a premise that it wouldbe potentially easier for a user of computing device 21 to identify theuser represented in image 32 if the eyes and at least certain otherdistinguishing features, such as the user's ears and nose, are outputfor display in image 32. Content associated with a notification orcorresponding communication may be output to at least partially overlaysecond portion 168 of image 32, while leaving first portion 166 exposedfor view (e.g., such that the content does not overlay first portion166). In the example of FIG. 6, first portion 166 includes, at aminimum, regions 150, 152, 154, 156, and 158 associated with the rightand left eyes, the right ear, the nose, and the left ear, respectively,but does not include region 160.

Although first portion 166 and second portion 168 shown in FIG. 6, aswell as first portion 34 and second portion 35 shown in FIG. 5, areshown as rectangle-shaped portions, each of these portions may havedifferent shapes and sizes in other examples. For example, one or moreof these portions may be a square-shaped portion, a circle-shapedportion, a triangle-shaped portion, or another polygon-shaped portion.

FIGS. 7A-7C are conceptual diagrams that illustrate examples ofoverlaying message content over at least a portion of image 32, inaccordance with one or more aspects of the present disclosure. In FIGS.7A-7C, it is assumed that notification service module 64 has identifiedfirst portion 34 and second portion 35 of image 32, as shown in theexample of FIG. 5.

As shown in FIG. 7A, at a first point in time, notification servicemodule 64 and/or UI module 66 may output a first portion of messagecontent associated with an incoming communication. This first portion ofthe message content may be included within a graphical window 170, suchthat the first portion of the message content, as displayed, at leastpartially overlays second portion 35 of image 32. The first portion ofthe message content may provide at least initial text that is output fordisplay to a user of computing device 21, and ellipses (i.e., “ . . . ”)may be shown in graphical window 170 to indicate that there are one ormore additional portions of the message content associated with theincoming communication.

At a second point in time, as shown in FIG. 7B, notification servicemodule 64 and/or UI module 66 may output a second, additional portion ofthe message content, such that both the first and second portions of themessage content, as displayed, at least partially overlay second portion35 of image 32. In this particular example, the first portion of themessage content may include the text “Hi Fred, how are,” and the secondportion of the message content includes the text “you doing? Say, I havea question for you, and I hope you can help me out.” Both the first andsecond portions of the message content may be included in graphicalwindow 172, which may again provide ellipses to indicate that there areone or more further portions of the message content that are associatedwith the incoming communication.

As is shown in the example of FIG. 7B, the top border of graphicalwindow 72 is provided on the border between first portion 34 and secondportion 35 of image 32, such that first portion 34 is exposed for view(e.g., such that message content does not overlay first portion 34). Asa result, the first and second portions of the message content includedin graphical window 72 are displayed under the two eyes of the userrepresented in image 32. The user of computing device 21 may be able toview these portions of the message content, along with first portion 34of image 32, such that a viewer (e.g., the user of computing device 21)may more easily identify the human user represented by image 32 who isthe originator of the incoming communication and associated messagecontent.

In some instances, a transitional effect may be used when outputting thefirst and second portions of the message content, as shown in FIGS. 7Aand 7B. For example, in some cases, notification module 64 and/or UImodule 66 may output the first portion of the message content, as shownin FIG. 7A, and may subsequently transition to output both the first andsecond portions of the message content, as shown in FIG. 7B, uponreceipt of user input (e.g., manual or verbal input received by UID 71and/or input devices 42).

In other examples, notification service module 64 and/or UI module 66may output the first portion of the message content in graphical window170 for a defined period of time, as shown in FIG. 7A, and may thensubsequently transition to output both the first and second portions ofthe message content in graphical window 172, as shown in FIG. 7B, wheregraphical window 172 is larger than graphical window 170. If the definedperiod of time is relatively short in length, a transitional effect maybe provided wherein the user of computing device 21 may be initiallypresented with the first portion of the message content, first portion34 of image 32, and one or more regions (e.g., regions 154, 156, 158,and 160 from FIG. 5) of second portion 35 of image 32 for the definedperiod of time. Shortly thereafter, the user of computing device 21 maybe automatically presented with both the first and second portions ofthe message content in graphical window 172, as shown in FIG. 7B. Thistransitional effect may allow a viewer (e.g., the user of computingdevice 21) to view these portions of the message content over a periodof time, and to more easily identify the human user represented by image32 as the output transitions from that shown in FIG. 7A to FIG. 7B overthis period of time.

Referring now to FIG. 7C, at a subsequent, third point in time,notification service module 64 and/or UI module 66 may output a third,additional portion of the message content, such that the first, secondportions, and third portions of the message content, as displayed, atleast partially overlay both first portion 34 and second portion 35 ofimage 32. In this particular example, the third portion of the messagecontent may include the text “Would you be able to give me a ride to theairport this afternoon?” Each of the first, second, and third portionsof the message content may be included in graphical window 174, which islarger in size than each of graphical windows 170 and 172. Althoughgraphical window 174 at least partially overlays first portion 34, itincludes additional message content for display to the user of computingdevice 21.

In some instances, notification service module 64 and/or UI module 66may automatically transition between two or more of the outputsillustrated in FIGS. 7A, 7B, and/or 7C without user intervention. Forexample, as described above, the output illustrated in FIG. 7A maytransition to the one illustrated in FIG. 7B after a first definedperiod of time. In addition, the output illustrated in FIG. 7B maytransition to the one illustrated in FIG. 7C after a second definedperiod of time, where the second defined period of time may be the same,less than, or greater than the first defined period of time.

Alternatively, notification service module 64 and/or UI module 66 maytransition between two or more of the outputs illustrated in FIGS. 7A,7B, and/or 7C based upon receipt of user input (e.g., manual or verbalinput received by UID 71 and/or input devices 42). For example, UID 71and/or processors 40 may receive an indication of user input received ata region of presence-sensitive input device 74 (FIG. 2) that correspondswith one or more of first portion 34, second portion 35, or graphicalwindows 170/172/174 to initiate such a transition. The user of computingdevice 21, for instance, may initiate a tap or a swipe gesture at aregion of presence-sensitive input device 74 that corresponds withgraphical window 170 (e.g., a swipe-up gesture originating at a regionof presence-sensitive input device 74 corresponding to a portion ofgraphical window 170) to cause notification service module 64 and/or UImodule 66 to transition from the output illustrated in FIG. 7A to theone illustrated in FIG. 7B. Similarly, the user of computing device 21may initiate a tap or a swipe gesture originating at a region ofpresence-sensitive input device 74 that corresponds with graphicalwindow 172 to cause notification service module 64 and/or UI module 66to transition from the output illustrated in FIG. 7B to the oneillustrated in FIG. 7C.

FIG. 8 is a conceptual diagram illustrating an example identification offirst and second portions of a graphical element 180, in accordance withone or more aspects of the present disclosure. In this particularexample, notification service module 64 may receive a notification thatis originated by one of applications 68, such as application 68A.Graphical element 180 may comprise a graphical representation of theapplication.

For instance, as shown in FIG. 8, graphical element 180 may comprise anicon that represents a weather application. In this instance,application 68A may comprise a weather application that generatesweather-related notifications. Notification service module 64 mayreceive these notifications and output content that at least partiallyoverlays graphical element 180, such that a user of computing device 21may identify application 68A, a weather application, as an originator ofthe notification.

Notification service module 64 may identify and output first portion 182(e.g., the top portion) and second portion 184 (e.g., bottom portion) ofgraphical element 180. First portion 182 and second portion 184 areindicated in FIG. 8 by the dotted boxes.

In some instances, notification service module 64 may identify firstportion 182 and second portion 184 based on location information thatassociates each of a plurality of graphical features with acorresponding region at which the respective graphical feature isincluded in graphical element 180. For example, the location informationmay associate a graphical feature representing the sun (or at least aportion of the sun) with a first region of graphical element 180, andfurther associate a graphical feature representing a cloud (or at leasta portion of a cloud) with a second region of graphical element 180. Inthe example of FIG. 8, a portion of the cloud may also be associatedwith the first region of graphical element 180.

Image processing module 54 may perform one or more image recognitionalgorithms to determine the location information. The locationinformation may also be stored in image repository 58, such that imageprocessing module 54 does not perform image recognition of graphicalelement 180 each time application 68A generates a weather-relatednotification.

Notification service module 64 may identify first portion 182 and secondportion 184 based on the location information, such that first portion182 is associated at least with a graphical feature representing atleast a portion of the sun. As shown in FIG. 8, first portion 182 mayalso be associated with a graphical feature representing a top portionof a cloud. Second portion 184 may be associated with a graphicalfeature representing a bottom portion of the cloud. Notification servicemodule 64 may identify first portion 182 and second portion 184 based onone or more criteria or rules. These criteria or rules may be definedbased on a premise that it would be potentially easier for a user ofcomputing device 21 to identify application 68A as the originator of anotification if at least a portion of the sun, as well as a portion ofthe cloud, are represented in first portion of the image. As shown inthe examples of FIGS. 9A, 9B, and 9C, content associated with thenotification may be output to at least partially overlay second portion184 of graphical element 180, while leaving first portion 182 exposedfor view (e.g., such that the content does not overlay first portion182).

In other examples, notification service module 64 may identify firstportion 182 such that it includes smaller or greater amounts of thegraphical features of the sun and/or cloud shown in FIG. 8. In certainexamples, rather than utilizing any image/facial recognition processes,notification service module 64 may instead split graphical element 180into distinct portions based on size. For instance, notification servicemodule 64 may split graphical element 180 into top and bottom portionsof predefined sizes (e.g., equal sizes).

Although first portion 182 and second portion 184 of FIG. 8 are shown asrectangle-shaped portions, each of these portions may have differentshapes and sizes in other examples. For example, one or more of theseportions may be a square-shaped portion, a circle-shaped portion, atriangle-shaped portion, or another polygon-shaped portion.

FIGS. 9A-9C are conceptual diagrams that illustrate examples ofoverlaying content over at least a portion of graphical element 180, inaccordance with one or more aspects of the present disclosure. As shownin FIG. 9A, at a first point in time, notification service module 64and/or UI module 66 may output a first portion of content associatedwith a weather-related notification. This first portion of the contentmay be included within a graphical window 186, such that the firstportion of the content, as displayed, at least partially overlays secondportion 184 of graphical element 180. The first portion of the contentmay provide at least initial text that is output for display to a userof computing device 21, and ellipses (i.e, “ . . . ”) may be shown ingraphical window 186 to indicate that there are one or more additionalportions of the content associated with the notification.

At a second point in time, as shown in FIG. 9B, notification servicemodule 64 and/or UI module 66 may output a second, additional portion ofthe message content, such that both the first and second portions of thecontent, as displayed, at least partially overlay second portion 184 ofgraphical element 180. In this particular example, the first portion ofthe content may include the text “Weather Update” and the second portionof the content includes the text “Severe Weather.” Both the first andsecond portions of the content may be included in graphical window 188,which may again provide ellipses to indicate that there are one or morefurther portions of the content that are associated with thenotification. As is shown in FIG. 9B, the top border of graphical window188 is provided on the border between first portion 182 and secondportion 184 of graphical element 180, such that first portion 182 isexposed for view (e.g., such that content does not overlay first portion182). The user of computing device 21 may be able to view these portionsof the content, along with first portion 182 of graphical element 180,and potentially more easily identify the application (e.g., application68A) represented by graphical element 180 that is the originator of theweather-related notification and associated content.

At a subsequent, third point in time, as shown in FIG. 9C, notificationservice module 64 and/or UI module 66 may output a third, additionalportion of the message content, such that the first, second portions,and third portions of the message content, as displayed, at leastpartially overlay both first portion 182 and second portion 184 ofgraphical element 180. In this particular example, the third portion ofthe message content may include the text “approaching Minneapolis.Expect severe thunderstorms beginning around 3 pm this afternoon.” Eachof the first, second, and third portions of the content may be includedin graphical window 190, which is larger in size than each of graphicalwindows 186 and 188. Although graphical window 190 at least partiallyoverlays first portion 182, it includes additional message content fordisplay to the user of computing device 21.

Similar to that described above in reference to FIGS. 7A-7C, in someinstances, notification service module 64 and/or UI module 66 mayautomatically transition between two or more of the outputs illustratedin FIGS. 9A, 9B, and/or 9 c without user intervention. For example, theoutput illustrated in FIG. 9A may transition to the one illustrated inFIG. 9B after a first defined period of time. In addition, the outputillustrated in FIG. 9B may transition to the one illustrated in FIG. 9Cafter a second defined period of time, where the second defined periodof time may be the same, less than, or greater than the first definedperiod of time.

Alternatively, notification service module 64 and/or UI module 66 maytransition between two or more of the outputs illustrated in FIGS. 9A,9B, and/or 9C based upon receipt of user input (e.g., manual or verbalinput received by UID 71 and/or input devices 42), similar to thatdescribed above in reference to FIGS. 7A, 7B, and 7C.

FIGS. 10A and 10B are conceptual diagrams that illustrate an example ofmultiple instances of content that at least partially overlays a portionof a graphical element or image 200, in accordance with one or moreaspects of the present disclosure. In FIGS. 10A and 10B, element 200 maycomprise a graphical element or an image, and will be referred to belowas element 200. As shown in FIGS. 10A and 10B, it is assumed thatelement 200 comprises a first (top) portion 201 and a second (bottom)portion 203. Dotted line 202 indicates the boundary, or edge, betweenfirst portion 201 and second portion 203 of element 200.

Over time, notification service module 64 may receive multiplenotifications from one or more of applications 68, and various ones ofthese notifications may be generated by a given application, such asapplication 68A or an application executing on a device external tocomputing device 21. For instance, application 68A may generate thesenotifications during execution and may serve as a notificationoriginator. In some instances, application 68A may generatenotifications in response to receiving an incoming communication that isassociated with message content (e.g., if application 68A is an email ormessaging application), where a human user is an originator of thecommunication.

As one non-limiting example, notification service module 64 may receivea first notification (“NOTIFICATION #1”) from application 68Acorresponding to a first incoming communication (e.g., email), and mayoutput, for display, first content that is associated with the firstincoming communication. As shown in FIG. 10A, a first portion of thefirst content associated with the first incoming communication isincluded for display in graphical window 204. This first portion of thefirst content included in graphical window 204 at least partiallyoverlays second portion 203 of element 200. Notification service module64 may also receive a second notification (“NOTIFICATION #2”) fromapplication 68A corresponding to a second incoming communication, wherethe same entity (e.g., human user, application 68A) is an originator ofboth the first and second incoming communications or the correspondingfirst and second notifications. Notification service module 64 mayoutput, for display in graphical window 206, a first portion of secondcontent associated with the second incoming notification, such that thefirst portion of the second content included graphical window 206 alsoat least partially overlays second portion 203 of element 200.

Additionally, notification service module 64 may receive a thirdnotification (“NOTIFICATION #3”) from application 68A corresponding to athird incoming communication, where the same entity (e.g., human user,application 68A) is an originator of each of the first, second, andthird incoming communications or the corresponding first, second, orthird notifications. Notification service module 64 may output, fordisplay in graphical window 208, a first portion of third contentassociated with the third incoming notification, such that the firstportion of the third content in graphical window 208 also at leastpartially overlays second portion 203 of element 200.

The portions of content included in respective graphical windows 204,206, and 208, however, may convey information of differing importance.In FIG. 10A, graphical windows 204, 206, and 208 may be substantiallyequal in size, and the amounts of the content displayed in these windowsmay be substantially the same. As a result, upon viewing graphicalwindows 204, 206, and 208 and the respective portions of contentdisplayed therein, a user may not necessarily be able to discern adifference in a level of importance between the correspondingnotifications.

Thus, in certain examples, notification service module 64 and/or UImodule 66 may increase the size of a given graphical window (e.g., todisplay more of the window) if the window includes content of higherimportance. The range of importance may be defined in a long a spectrum,such that the graphical window with potentially more importantinformation (e.g., severe weather information, important stockinformation, urgent email information, travel flight information) mayhave a larger size and overlay a larger portion of second portion 203 ofelement 200. In such fashion, the sizes of the graphical windows maydiffer according to the level of importance/severity of the informationor content contained therein. By increasing the size of graphicalwindows containing potentially more important notification content, theuser of computing device 21 may be able to identify which ofnotification may be of higher importance.

As indicated in FIG. 10B, notification service module 64 and/or UImodule 66 may determine, based at least in part on a priority associatedwith the second content associated with the second notification, anamount of the second content to output for display in graphical window210, wherein graphical window 210 is larger than window 206.Notification service module 64 and/or UI module 66 may furtherdetermine, based at least in part on a priority associated with thethird content associated with the third notification, an amount of thethird content to output for display in window 208, and, based at leastin part on a priority associated with the first content associated withthe first notification, an amount of the first content to output fordisplay in window 204.

In the particular example of FIG. 10B, notification service module 64and/or UI module 66 have determined to increase the amount of overallamount of the second content to output for display in window 210 basedupon the priority of such content for the second notification. Forinstance, the second notification may relate to an urgent email, whilethe first and third notifications may relate only to certain lessimportant status information. Thus, as shown in FIG. 10B, graphicalwindow 210 includes the first portion and also a second, additionalportion of the second content. Similar to that shown in FIG. 10A,however, graphical window 204 in FIG. 10B includes only the firstportion of the first content, and graphical window 208 includes only thefirst portion of the third content.

As a result, graphical window 210 is larger in size than each ofgraphical windows 204 and 208. Additionally, the amount of informationincluded for display in graphical window 210 is more than the respectiveamounts of information included for display in graphical windows 204 and208. By increasing the size of graphical window 210 in relation tographical windows 204 and 208, based upon the higher priority of thesecond content associated with the second notification, and byoutputting a larger amount of the second content to output for displayin graphical window 210, the user of computing device 21 may be able toidentify which of the three notifications may be of higher importance.

Notification service module 64 and/or UI module 66 may be preprogrammedto determine a priority level of a given notification or associatedcontent. In other examples, notification service module 64 and/or UImodule 66 may be configurable and allow inputs from a user to assignpriority levels based on the notification's source (e.g., applicationand/or remote service of origin).

In some cases, notification service module 64 and/or UI module 66 maycategorize notifications or associated content as either high priorityor low priority by comparing the priority level to a priority threshold.For example, in response to determining that the priority levelassociated with a notification does not satisfy a priority threshold(e.g., the priority level is low), notification service module 64 and/orUI module 66 may determine that the notification is a low prioritynotification. Conversely, in response to determining that the prioritylevel associated with the notification satisfies the priority threshold(e.g., the priority level is high), notification service module 64and/or UI module 66 may determine that the notification represents ahigh priority notification. Notification service module 64 and/or UImodule 66 may include less content in a graphical window associated witha low priority notification than in a graphical window associated with ahigh priority notification.

FIG. 11 is a flowchart illustrating example operations of a computingdevice, such as computing device 10, 11, and/or 21, in accordance withone or more aspects of the present disclosure. For purposes ofillustration only, the operations of FIG. 11 are described withreference to computing device 21 shown in FIG. 2.

Responsive to computing device 21 receiving an indication of an incomingcommunication, notification service module 64 and/or UI module 66identify first and second portions of an image that are associated withrespective first and second portions of a face of a human user, whereinthe human user has been determined to be an originator of the incomingcommunication (220). Notification service module 64 and/or UI module 66may output, for display, the first and second portions of the image thatare associated with the respective first and second portions of the faceof the human user (222), and may also output, for display, messagecontent associated with the incoming communication, such that themessage content as displayed at least partially overlays the secondportion of the image (224).

Example 1

A method comprising: responsive to receiving an indication of anincoming communication, identifying, by a computing device, first andsecond portions of an image that are associated with respective firstand second portions of a face of a human user, wherein the human userhas been determined to be an originator of the incoming communication;outputting, by the computing device and for display, the first andsecond portions of the image that are associated with the respectivefirst and second portions of the face of the human user; and outputting,by the computing device and for display, message content associated withthe incoming communication, such that the message content as displayedat least partially overlays the second portion of the image.

Example 2

The method of Example 1, wherein the message content, as displayed, doesnot overlay the first portion of the image.

Example 3

The method of any of Examples 1-2, wherein the incoming communicationcomprises one of an email, a message, a social media communication, acalendar reminder, a travel-related communication, a game-relatedcommunication, a stock-related communication, or a weather-relatedcommunication.

Example 4

The method of any of Examples 1-3, wherein the message content isoutput, for display, in a region that is adjacent to and beneath thefirst portion of the image.

Example 5

The method of any of Examples 1-4, wherein the first portion of the faceof the human user includes both eyes of the human user, and wherein thesecond portion of the face of the human user includes a nose and a mouthof the human user.

Example 6

The method of any of Examples 1-5, wherein the message content, asdisplayed, at least partially exposes the second portion of the imagefor viewing by a user of the computing device.

Example 7

The method of any of Examples 1-6, wherein outputting the messagecontent comprises: at a first point in time, outputting a first portionof the message content, such that the first portion of the messagecontent as displayed at least partially overlays the second portion ofthe image; and at a second point in time, outputting a second portion ofthe message content, such that both the first and second portions of themessage content as displayed at least partially overlay the secondportion of the image.

Example 8

The method of Example 7, further comprising: at a third point in time,outputting a third portion of the message content, such that the first,second, and third portions of the message content as displayed at leastpartially overlay both the first and second portions of the image.

Example 9

The method of any of Examples 1-8, wherein identifying the first andsecond portions of the image comprises: receiving location informationfor a plurality of facial features of the face of the human user,wherein the location information associates each of the plurality offacial features with a corresponding region at which the respectivefacial feature is represented in the image; identifying, based at leastin part on the location information, the first portion of the image thatis associated with the first portion of the face of the human user,wherein the first portion of the face of the human user includes a firstgroup of one or more of the plurality of facial features; andidentifying, based at least in part on the location information, thesecond portion of the image that is associated with the second portionof the face of the human user, wherein the second portion of the face ofthe human user includes a second group of one or more of the pluralityof facial features, the second group being different than the firstgroup.

Example 10

The method of Example 9, wherein receiving the location informationcomprises: performing image recognition on the image to obtain thelocation information.

Example 11

The method of any of Examples 1-10, wherein the incoming communicationcomprises a first incoming communication, and wherein the messagecontent comprises first message content, the method further comprising:receiving an indication of a second incoming communication that isassociated with second message content, wherein the human user has beendetermined to be an originator of the second incoming communication; andoutputting, for display, the second message content associated with thesecond incoming communication, wherein the second message content atleast partially overlays the second portion of the digital image.

Example 12

The method of Example 11, wherein outputting the first message contentcomprises determining, based at least in part on a priority associatedwith the first message content, an amount of the first message contentto output for display, and wherein outputting the second message contentcomprises determining, based at least in part on a priority associatedwith the second message content, an amount of the second message contentto output for display.

Example 13

A method comprising: responsive to receiving a notification,identifying, by a computing device, first and second portions of agraphical element, wherein the graphical element represents anapplication that has been determined to be an originator of thenotification; outputting, by the computing device and for display, thefirst and second portions of the graphical element; and outputting, bythe computing device and for display, content associated with thenotification, such that the content as displayed at least partiallyoverlays the second portion of the graphical element.

Example 14

The method of Example 13, wherein the content, as displayed, does notoverlay the first portion of the graphical element.

Example 15

The method of any of Examples 13-14, wherein outputting the contentcomprises: at a first point in time, outputting a first portion of thecontent, such that the first portion of the content as displayed atleast partially overlays the second portion of the graphical element; ata second point in time, outputting a second portion of the content, suchthat both the first and second portions of the content as displayed atleast partially overlay the second portion of the graphical element; andat a third point in time, outputting a third portion of the content,such that the first, second, and third portions of the content asdisplayed at least partially overlay both the first and second portionsof the graphical element.

Example 16

The method of any of Examples 13-15, wherein the notification comprisesa first notification, and wherein the content comprises first content,the method further comprising: receiving a second notification that isassociated with second content, wherein the application has beendetermined to be an originator of the second notification; outputting,for display, the second content associated with the second notification,wherein the second content at least partially overlays the secondportion of the graphical element, wherein outputting the first contentcomprises determining, based at least in part on a priority associatedwith the first content, an amount of the first content to output fordisplay, and wherein outputting the second content comprisesdetermining, based at least in part on a priority associated with thesecond content, an amount of the second content to output for display.

Example 17

A computer-readable storage medium encoded with instructions that, whenexecuted, cause at least one processor to perform operations comprising:responsive to receiving an indication of an incoming communication,identifying first and second portions of an image that are associatedwith respective first and second portions of a face of a human user,wherein the human user has been determined to be an originator of theincoming communication; outputting, for display, the first and secondportions of the image that are associated with the respective first andsecond portions of the face of the human user; and outputting, fordisplay, message content associated with the incoming communication,such that the message content as displayed at least partially overlaysthe second portion of the image.

Example 18

The computer-readable storage medium of Example 17, wherein the messagecontent, as displayed, does not overlay the first portion of the image.

Example 19

The computer-readable storage medium of any of Examples 17-18, whereinthe message content, as displayed, at least partially exposes the secondportion of the image for viewing by a user of the computing device.

Example 20

The computer-readable storage medium of any of Examples 17-19, whereinthe instructions that, when executed, cause the at least one processorto output the message content comprise instructions that, when executed,cause the at least one processor to perform operations comprising: at afirst point in time, outputting a first portion of the message content,such that the first portion of the message content as displayed at leastpartially overlays the second portion of the image; and at a secondpoint in time, outputting a second portion of the message content, suchthat both the first and second portions of the message content asdisplayed at least partially overlay the second portion of the image.

Example 21

The computer-readable storage medium of Example 20, further encoded withinstructions that, when executed, cause the at least one processor toperform operations comprising: at a third point in time, outputting athird portion of the message content, such that the first, second, andthird portions of the message content as displayed at least partiallyoverlay both the first and second portions of the image.

Example 22

The computer-readable storage medium of any of Examples 17-21, whereinthe instructions that, when executed, cause the at least one processorto identify the first and second portions of the image compriseinstructions that, when executed, cause the at least one processorperform operations comprising: receiving location information for aplurality of facial features of the face of the human user, wherein thelocation information associates each of the plurality of facial featureswith a corresponding region at which the respective facial feature isrepresented in the image; identifying, based at least in part on thelocation information, the first portion of the image that is associatedwith the first portion of the face of the human user, wherein the firstportion of the face of the human user includes a first group of one ormore of the plurality of facial features; and identifying, based atleast in part on the location information, the second portion of theimage that is associated with the second portion of the face of thehuman user, wherein the second portion of the face of the human userincludes a second group of one or more of the plurality of facialfeatures, the second group being different than the first group.

Example 23

The computer-readable storage medium of Example 22, wherein theinstructions that, when executed, cause the at least one processor toreceive the location information comprise instructions that, whenexecuted, cause the at least one processor to perform image recognitionon the image to obtain the location information.

Example 24

The computer-readable storage medium of any of Examples 17-23, whereinthe incoming communication comprises a first incoming communication, andwherein the message content comprises first message content, thecomputer-readable storage medium being further encoded with instructionsthat, when executed, cause the at least one processor to performoperations comprising: receiving an indication of a second incomingcommunication that is associated with second message content, whereinthe human user has been determined to be an originator of the secondincoming communication; and outputting, for display, the second messagecontent associated with the second incoming communication, wherein thesecond message content at least partially overlays the second portion ofthe digital image.

Example 25

The computer-readable storage medium of Example 24, wherein theinstructions that, when executed, cause the at least one processor tooutput the first message content comprise instructions that, whenexecuted, cause the at least one processor to determine, based at leastin part on a priority associated with the first message content, anamount of the first message content to output for display, and whereinthe instructions that, when executed, cause the at least one processorto output the second message content comprise instructions that, whenexecuted, cause the at least one processor to determine, based at leastin part on a priority associated with the second message content, anamount of the second message content to output for display.

Example 26

A computing device, comprising: at least one processor, wherein the atleast one processor is configured to: responsive to receiving anindication of an incoming communication, identify first and secondportions of an image that are associated with respective first andsecond portions of a face of a human user, wherein the human user hasbeen determined to be an originator of the incoming communication;output, for display, the first and second portions of the image that areassociated with the respective first and second portions of the face ofthe human user; and output, for display, message content associated withthe incoming communication, such that the message content as displayedat least partially overlays the second portion of the image.

Example 27

The computing device of Example 26, wherein the message content, asdisplayed, does not overlay the first portion of the image.

Example 28

The computing device of any of Examples 26-27, wherein the messagecontent, as displayed, at least partially exposes the second portion ofthe image for viewing by a user of the computing device.

Example 29

The computing device of any of Examples 26-28, wherein the at least oneprocessor configured to output the message content is further configuredto: at a first point in time, output a first portion of the messagecontent, such that the first portion of the message content as displayedat least partially overlays the second portion of the image; and at asecond point in time, output a second portion of the message content,such that both the first and second portions of the message content asdisplayed at least partially overlay the second portion of the image.

Example 30

The computing device of Example 29, wherein the at least one processoris further configured to: at a third point in time, output a thirdportion of the message content, such that the first, second, and thirdportions of the message content as displayed at least partially overlayboth the first and second portions of the image.

Example 31

The computing device of any of Examples 26-30, wherein the at least oneprocessor configured to identify the first and second portions of theimage is further configured to: receive location information for aplurality of facial features of the face of the human user, wherein thelocation information associates each of the plurality of facial featureswith a corresponding region at which the respective facial feature isrepresented in the image; identify, based at least in part on thelocation information, the first portion of the image that is associatedwith the first portion of the face of the human user, wherein the firstportion of the face of the human user includes a first group of one ormore of the plurality of facial features; and identify, based at leastin part on the location information, the second portion of the imagethat is associated with the second portion of the face of the humanuser, wherein the second portion of the face of the human user includesa second group of one or more of the plurality of facial features, thesecond group being different than the first group.

Example 32

The computing device of Example 31, wherein the at least one processorconfigured to receive the location information is further configured toperform image recognition on the image to obtain the locationinformation.

Example 33

The computing device of any of Examples 26-32, wherein the incomingcommunication comprises a first incoming communication, wherein themessage content comprises first message content, and wherein the atleast one processor is further configured to: receive an indication of asecond incoming communication that is associated with second messagecontent, wherein the human user has been determined to be an originatorof the second incoming communication; and output, for display, thesecond message content associated with the second incomingcommunication, wherein the second message content at least partiallyoverlays the second portion of the digital image.

Example 34

The computing device of Example 33, wherein the at least one processoris further configured to: determine, based at least in part on apriority associated with the first message content, an amount of thefirst message content to output for display; and determine, based atleast in part on a priority associated with the second message content,an amount of the second message content to output for display.

Example 35

A computer-readable storage medium encoded with instructions that, whenexecuted, cause at least one processor to perform the method of any ofExamples 1-16.

Example 36

A computing device comprising means for performing the method of any ofExamples 1-16.

Example 37

A computer-readable storage medium encoded with instructions that, whenexecuted, cause at least one processor to perform operations comprising:responsive to receiving a notification, identifying, by a computingdevice, first and second portions of a graphical element, wherein thegraphical element represents an application that has been determined tobe an originator of the notification; outputting, by the computingdevice and for display, the first and second portions of the graphicalelement; and outputting, by the computing device and for display,content associated with the notification, such that the content asdisplayed at least partially overlays the second portion of thegraphical element.

Example 38

The computer-readable storage medium of Example 37, wherein the content,as displayed, does not overlay the first portion of the graphicalelement.

Example 39

The computer-readable storage medium of any of Examples 37-38, whereinthe instructions that, when executed, cause the at least one processorto output the content comprise instructions that, when executed, causethe at least one processor to perform operations comprising: at a firstpoint in time, outputting a first portion of the content, such that thefirst portion of the content as displayed at least partially overlaysthe second portion of the graphical element; at a second point in time,outputting a second portion of the content, such that both the first andsecond portions of the content as displayed at least partially overlaythe second portion of the graphical element; and at a third point intime, outputting a third portion of the content, such that the first,second, and third portions of the content as displayed at leastpartially overlay both the first and second portions of the graphicalelement.

Example 40

The computer-readable storage medium of any of Examples 37-39, whereinthe notification comprises a first notification, and wherein the contentcomprises first content, the computer-readable storage medium beingfurther encoded with instructions that, when executed, cause the atleast one processor to perform operations comprising: receiving a secondnotification that is associated with second content, wherein theapplication has been determined to be an originator of the secondnotification; and outputting, for display, the second content associatedwith the second notification, wherein the second content at leastpartially overlays the second portion of the graphical element, whereinoutputting the first content comprises determining, based at least inpart on a priority associated with the first content, an amount of thefirst content to output for display, and wherein outputting the secondcontent comprises determining, based at least in part on a priorityassociated with the second content, an amount of the second content tooutput for display.

Example 41

A computing device comprising: at least one processor, wherein the atleast one processor is configured to: responsive to receiving anotification, identify first and second portions of a graphical element,wherein the graphical element represents an application that has beendetermined to be an originator of the notification; output, for display,the first and second portions of the graphical element; and output, fordisplay, content associated with the notification, such that the contentas displayed at least partially overlays the second portion of thegraphical element.

Example 42

The computing device of Example 41, wherein the content, as displayed,does not overlay the first portion of the graphical element.

Example 43

The computing device of any of Examples 41-42, wherein the at least oneprocessor configured to output the content is further configured to: ata first point in time, output a first portion of the content, such thatthe first portion of the content as displayed at least partiallyoverlays the second portion of the graphical element; at a second pointin time, output a second portion of the content, such that both thefirst and second portions of the content as displayed at least partiallyoverlay the second portion of the graphical element; and at a thirdpoint in time, output a third portion of the content, such that thefirst, second, and third portions of the content as displayed at leastpartially overlay both the first and second portions of the graphicalelement.

Example 44

The computing device of any of Examples 41-43, wherein the notificationcomprises a first notification, and wherein the content comprises firstcontent, the at least one processor being further configured to: receivea second notification that is associated with second content, whereinthe application has been determined to be an originator of the secondnotification; and output, for display, the second content associatedwith the second notification, wherein the second content at leastpartially overlays the second portion of the graphical element, whereinoutputting the first content comprises determining, based at least inpart on a priority associated with the first content, an amount of thefirst content to output for display, and wherein outputting the secondcontent comprises determining, based at least in part on a priorityassociated with the second content, an amount of the second content tooutput for display.

In one or more examples, the functions described may be implemented inhardware, software, firmware, or any combination thereof. If implementedin software, the functions may be stored on or transmitted over, as oneor more instructions or code, a computer-readable medium and executed bya hardware-based processing unit. Computer-readable media may includecomputer-readable storage media, which corresponds to a tangible mediumsuch as data storage media, or communication media including any mediumthat facilitates transfer of a computer program from one place toanother, e.g., according to a communication protocol. In this manner,computer-readable media generally may correspond to (1) tangiblecomputer-readable storage media, which is non-transitory or (2) acommunication medium such as a signal or carrier wave. Data storagemedia may be any available media that can be accessed by one or morecomputers or one or more processors to retrieve instructions, codeand/or data structures for implementation of the techniques described inthis disclosure. A computer program product may include acomputer-readable medium.

By way of example, and not limitation, such computer-readable storagemedia can comprise RAM, ROM, EEPROM, CD-ROM or other optical diskstorage, magnetic disk storage, or other magnetic storage devices, flashmemory, or any other storage medium that can be used to store desiredprogram code in the form of instructions or data structures and that canbe accessed by a computer. Also, any connection is properly termed acomputer-readable medium. For example, if instructions are transmittedfrom a website, server, or other remote source using a coaxial cable,fiber optic cable, twisted pair, digital subscriber line (DSL), orwireless technologies such as infrared, radio, and microwave, then thecoaxial cable, fiber optic cable, twisted pair, DSL, or wirelesstechnologies such as infrared, radio, and microwave are included in thedefinition of medium. It should be understood, however, thatcomputer-readable storage media and data storage media do not includeconnections, carrier waves, signals, or other transient media, but areinstead directed to non-transient, tangible storage media. Disk anddisc, as used herein, includes compact disc (CD), laser disc, opticaldisc, digital versatile disc (DVD), floppy disk and Blu-ray disc, wheredisks usually reproduce data magnetically, while discs reproduce dataoptically with lasers. Combinations of the above should also be includedwithin the scope of computer-readable media.

Instructions may be executed by one or more processors, such as one ormore digital signal processors (DSPs), general purpose microprocessors,application specific integrated circuits (ASICs), field programmablelogic arrays (FPGAs), or other equivalent integrated or discrete logiccircuitry. Accordingly, the term “processor,” as used herein may referto any of the foregoing structure or any other structure suitable forimplementation of the techniques described herein. In addition, in someaspects, the functionality described herein may be provided withindedicated hardware and/or software modules. Also, the techniques couldbe fully implemented in one or more circuits or logic elements.

The techniques of this disclosure may be implemented in a wide varietyof devices or apparatuses, including a wireless handset, an integratedcircuit (IC) or a set of ICs (e.g., a chip set). Various components,modules, or units are described in this disclosure to emphasizefunctional aspects of devices configured to perform the disclosedtechniques, but do not necessarily require realization by differenthardware units. Rather, as described above, various units may becombined in a hardware unit or provided by a collection ofinteroperative hardware units, including one or more processors asdescribed above, in conjunction with suitable software and/or firmware.

It is to be recognized that, depending on the embodiment, certain actsor events of any of the methods described herein can be performed in adifferent sequence, may be added, merged, or left out altogether (e.g.,not all described acts or events are necessary for the practice of themethod). Moreover, in certain embodiments, acts or events may beperformed concurrently, e.g., through multi-threaded processing,interrupt processing, or multiple processors, rather than sequentially.

In some examples, a computer-readable storage medium comprises anon-transitory medium. The term “non-transitory” indicates that thestorage medium is not embodied in a carrier wave or a propagated signal.In certain examples, a non-transitory storage medium may store data thatcan, over time, change (e.g., in RAM or cache).

Various examples have been described. These and other examples arewithin the scope of the following claims.

What is claimed is:
 1. A method comprising: responsive to receiving anotification, identifying, by a computing device, first and secondportions of a graphical element, wherein the graphical element has beendetermined to be associated with an originator of the notification;outputting, by the computing device and for display, the first andsecond portions of the graphical element; determining, by the computingdevice, first and second portions of message content, wherein the firstand second portions of the message content comprise different portionsof a message that is associated with the notification; for a firstperiod of time, outputting, by the computing device and for display, thefirst portion of the message content but not the second portion of themessage content, such that the first portion of the message content, asdisplayed, at least partially overlays the second portion of thegraphical element; and after the first period of time, and for a secondperiod of time, outputting, by the computing device and for display,both the first and second portions of the message content, such that thefirst and second portions of the message content, as displayed, at leastpartially overlay the second portion of the graphical element.
 2. Themethod of claim 1, further comprising: determining a third portion ofthe message content, wherein the first, second, and third portions ofthe message content comprise different portions of the messageassociated with the notification; and after the second period of time,outputting the first, second, and third portions of the message content,such that the first, second, and third portions of the message content,as collectively displayed, at least partially overlay both the first andsecond portions of the graphical element.
 3. The method of claim 1,wherein: the notification comprises an indication of an incomingcommunication; the first and second portions of the graphical elementcomprise first and second portions of an image that are associated withrespective first and second portions of a face of a human user, whereinthe human user has been determined to be an originator of the incomingcommunication; and the message content is associated with the incomingcommunication.
 4. The method of claim 3, wherein identifying the firstand second portions of the graphical element comprises: identifying,based at least in part on location information for a plurality of facialfeatures of the face of the human user, the first portion of the imagethat is associated with the first portion of the face of the human user,wherein the location information associates each of the plurality offacial features with a corresponding region at which the respectivefacial feature is represented in the image, and wherein the firstportion of the face of the human user includes a first group of one ormore of the plurality of facial features; and identifying, based atleast in part on the location information, the second portion of theimage that is associated with the second portion of the face of thehuman user, wherein the second portion of the face of the human userincludes a second group of one or more of the plurality of facialfeatures, the second group being different than the first group.
 5. Themethod of claim 4, further comprising: performing image recognition onthe image to obtain the location information.
 6. The method of claim 1,wherein the notification comprises an indication of one of an email, amessage, a social media communication, a calendar reminder, atravel-related communication, a game-related communication, astock-related communication, or a weather-related communication.
 7. Acomputer-readable storage device storing instructions that, whenexecuted, cause at least one processor to perform operations comprising:responsive to receiving a notification, identifying first and secondportions of a graphical element, wherein the graphical element has beendetermined to be associated with an originator of the notification;outputting, for display, the first and second portions of the graphicalelement; determining first and second portions of message content,wherein the first and second portions of the message content comprisedifferent portions of a message that is associated with thenotification; for a first period of time, outputting, for display, thefirst portion of the message content but not the second portion of themessage content, such that the first portion of the message content, asdisplayed, at least partially overlays the second portion of thegraphical element; and after the first period of time, and for a secondperiod of time, outputting, for display, both the first and secondportions of the message content, such that the first and second portionsof the message content, as displayed, at least partially overlay thesecond portion of the graphical element.
 8. The computer-readablestorage device of claim 7, wherein the instructions, when executed,cause the at least one processor to perform further operationscomprising: determining a third portion of the message content, whereinthe first, second, and third portions of the message content comprisedifferent portions of the message associated with the notification; andafter the second period of time, outputting the first, second and thirdportions of the message content, such that the first, second, and thirdportions of the message content, as collectively displayed, at leastpartially overlay both the first and second portions of the graphicalelement.
 9. The computer-readable storage device of claim 7, wherein:the notification comprises an indication of an incoming communication;the first and second portions of the graphical element comprise firstand second portions of an image that are associated with respectivefirst and second portions of a face of a human user, wherein the humanuser has been determined to be an originator of the incomingcommunication; and the message content is associated with the incomingcommunication.
 10. The computer-readable storage device of claim 9,wherein the instructions that, when executed, cause the at least oneprocessor to identify the first and second portions of the graphicalelement comprise instructions that, when executed, cause the at leastone processor perform operations comprising: identifying, based at leastin part on location information for a plurality of facial features ofthe face of the human user, the first portion of the image that isassociated with the first portion of the face of the human user, whereinthe location information associates each of the plurality of facialfeatures with a corresponding region at which the respective facialfeature is represented in the image, and wherein the first portion ofthe face of the human user includes a first group of one or more of theplurality of facial features; and identifying, based at least in part onthe location information, the second portion of the image that isassociated with the second portion of the face of the human user,wherein the second portion of the face of the human user includes asecond group of one or more of the plurality of facial features, thesecond group being different than the first group.
 11. A computingdevice, comprising: at least one processor; and a computer-readablestorage device storing instructions, wherein the at least one processorexecutes the instructions to: responsive to receiving a notification,identify first and second portions of a graphical element, wherein thegraphical element has been determined to be associated with anoriginator of the notification; output, for display, the first andsecond portions of the graphical element; determine first and secondportions of message content, wherein the first and second portions ofthe message content comprise different portions of a message that isassociated with the notification; for a first period of time, output,for display, the first portion of the message content but not the secondportion of the message content, such that the first portion of themessage content, as displayed, at least partially overlays the secondportion of the graphical element; and after the first period of time,and for a second period of time, output, for display, both the first andsecond portions of the message content, such that the first and secondportions of the message content, as displayed, at least partiallyoverlay the second portion of the graphical element.
 12. The computingdevice of claim 11, wherein the at least one processor further executesthe instructions to: determine a third portion of the message content,wherein the first, second, and third portions of the message contentcomprise different portions of the message associated with thenotification; and after the second period of time, output the first,second, and third portions of the message content, such that the first,second, and third portions of the message content, as collectivelydisplayed, at least partially overlay both the first and second portionsof the graphical element.
 13. The computing device of claim 11, wherein:the notification comprises an indication of an incoming communication;the first and second portions of the graphical element comprise firstand second portions of an image that are associated with respectivefirst and second portions of a face of a human user, wherein the humanuser has been determined to be an originator of the incomingcommunication; and the message content is associated with the incomingcommunication.
 14. The computing device of claim 13, wherein the atleast one processor executes the instructions to identify the first andsecond portions of the graphical element at least by: identifying, basedat least in part on location information for a plurality of facialfeatures of the face of the human user, the first portion of the imagethat is associated with the first portion of the face of the human user,wherein the location information associates each of the plurality offacial features with a corresponding region at which the respectivefacial feature is represented in the image, and wherein the firstportion of the face of the human user includes a first group of one ormore of the plurality of facial features; and identifying, based atleast in part on the location information, the second portion of theimage that is associated with the second portion of the face of thehuman user, wherein the second portion of the face of the human userincludes a second group of one or more of the plurality of facialfeatures, the second group being different than the first group.